正则表达式:用来记录文本规则的代码
预定义类
\d [0-9] 数字字符
\D [^0-9] 非数字字符
\s [ \t\n\x0B\f\r] 空白字符
\S [^ \t\n\x0B\f\r] 非空白字符
\w [a-zA-Z_0-9] 单词字符
\W [^a-zA-Z_0-9] 非单词字符
简单类
/可加任何字符/ 例如:/string/、/abc/
负向类
/^可加任何字符/ 例如:/^string/ 表示不能是括号里面的字符
范围类
有时匹配的东西过多,而且类型又相同,全部输入太麻烦,我们可以在中间加了个横线,例如:/[A-Z]/ /0-9/ /a-z/
注意事项:^ 会匹配行或者字符串的起始位置 ;^在[]中才表示非
量词
* (贪婪) 重复零次或更多 (>=0)
+ (懒惰) 重复一次或更多次 (>=1)
? (占有) 重复零次或一次 (0||1) 要么有 要么没有
{} 重复多少次的意思 可以有多少个
{n} n次 (x=n)
{n,} 重复n次或更多 (x>=n)
{n,m} 重复出现的次数比n多但比m少 (n<=x<=m)
x|y 一个 | x 或者 y
详细案例:(以下案例是在网页中运行)
1.验证QQ号:/^ [1-9][0-9]{4,}$/
/^ [1-9] | [0-9]{4,} $/ |
---|---|
开头必须是1-9 | 后部分0-9选取4位以上 |
正确情况:
错误情况:
当我开头为0时:
当我除去开头以为长度小于4时:
2.验证手机号:/^((13[0-9])|(15[ ^4,\D])|(18[0-9]))\d{8}$/
^ ( | (13[0-9]) | l | (15[ ^4,\D]) | l | (18[0-9]) | )\d{8}$ |
---|---|---|---|---|---|---|
开头 | 第一二位是13第三位是0-9中的任意数字 | 或者 | 第一二位15第三位不是4不是非数字字符 | 或者 | 第一二位18第三位是0-9任意数字 | 最后以八位任意数字结尾 |
正确情况:
错误情况:
当我手机号为154开头时:
当我长度超出11位时:
3.验证邮箱:/^ [\w-.]{5,}@[\w]+.[\w]{2,4}$/
/^ [\w-.]{5,} | @ | [\w]+ | . | [\w]{2,4}$/ |
---|---|---|---|---|
开头由单词字符、-、.组成,长度>=5 | 转义字符@ | 单词字符组成一个以上 | 转义字符. | 单词字符结尾,长度2-4字符 |
正确情况:
错误情况:
当我开头部分长度小于5时:
当我结尾字符长度大于4时: