正则表达式(RegExp:regular expression):一种用特殊符号编写的模式,描述一个或多个文本字符串。最适合用来搜索和操纵文本字符串。如,检查输入是否是邮箱。
简单列举常用的RegExp中特殊字符如下:
| 字 符 | 匹 配 |
| 在字面意义和特殊意义之间进行切换 | |
| ^ | 字符串的开头 |
| $ | 字符串的结尾 |
| * | 零次或多次 |
| + | 一次或多次 |
| ? | 零次或一次 |
| . | 除换行符外的任何字符 |
| 单词边界 | |
| B | 非单词边界 |
| d | 0~9的任何数字(与[0-9]相同) |
| D | 任何非数字 |
| f | 换页符(form feed) |
| 换行符 | |
| 回车符 | |
| s | 任何一个空白字符(与[ f v]相同) |
| S | 任何一个非空白字符 |
| 制表符 | |
| v | 垂直制表符 |
| w | 任何字符、数字以及下划线(与[a-zA-Z0-9]相同) |
| W | 除数字、字母及下划线外的其他字符 |
| xnn | 十六进制数字nn定义的ASCII字符 |
| onn | 八进制数字nn定义的ASCII字符 |
| cX | 控制字符X |
| [abcde] | 与其中任何字符匹配的字符集 |
| [^abcde] | 字符补集,与其中任何字符都不匹配的字符集 |
| [a-e] | 与其中的字符范围匹配的字符集 |
| [] | 退格字符的字面意义(不同于) |
| {n} | 前面的字符正好出现n次 |
| {n,} | 前面的字符至少出现n次 |
| {n,m} | 前面的字符出现n~m次 |
| () | 一个组,可以在后面引用它 |
| x|y | x或y |
正则表达式修饰符
| 修饰符 | 含 义 |
| g | 搜索所有的匹配(全局),不只是第一处匹配 |
| i | 进行不区分大小写的搜索 |
示例:
验证输入邮箱地址是否正确:re= /^w+([.-]?w+)*@w+ ([.-]?w+)*(.w{2,3})+$/;