正则表达式的两种写法:
- JS风格—new RegExp(‘a’, ‘i’)
- perl风格—/a/i
字符串相关操作:
search–字符串搜索
substring–获取字符串
charAt–获取某个字符
match–获取匹配的项目
replace–替换所有匹配
split–分割字符串为数组
正则中的option(可选项):
i 忽略大小写
g 全局匹配
量词:
+ 若干,匹配前面的子表达式一次或多次, {1,}
* 匹配前面的子表达式零次或多次,任意次{0,} ,不建议使用
? 匹配前面的子表达式零次或一次, {0,1}
{n} 正好n次
{n,} 至少n次
{n,m}最少n次,最多m次
例子:手机号码11位,第一个不能是0: [1-9]\d{10}
转义字符:
. 匹配除换行符以外的任意字符,不建议使用
\w 匹配字母或数字或下划线 ,等价于 ‘[A-Za-z0-9_]’。
\W等价于[^A-Za-z0-9_]
\s 匹配任意的空白符
\S 匹配非空白字符
\d 匹配数字[0-9]
\D 等价于 [^0-9]
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
| 或
方括号[ ]
- 任意字符[abc] 例子: o[abc]pc abc中有一个就行,匹配 oapc obpc ocpc
- 范围 [a-z], [0-9], [a-z0-9],
- 排除[^a]
邮箱验证例子
var mailStr='haha123@mail.com';
//一串英文数字下划线 @ 一串英文数字 . 一串英文
// w+ @ [a-z0-9]+ \. [a-z]+
var re=/^w+@ [a-z0-9]+\. [a-z]+$/i;
if(re.test(mailStr)){
alert('合法的邮箱');
}else{
alert(不合法的邮箱);
}