使用正则进行校验非常简洁方便
比如数字范围、手机号、是否都是数字等等
常见的js字符含义
元字符
元字符 | 描述 | |
---|---|---|
. | 查找单个字符,任意一个字符除了换行和行结束符 | |
() | 分组 | |
^ | 限定开始位置 => 本身不占位置 | |
[^a-z] | 非字母 []中^代表除了 | |
$ | 限定结束位置 => 本身不占位置 | |
\w | 查找单词字符 | /\w/ 查找单个单词字符 |
\W | 查找非单词字符 | |
\d | 查找数字 | |
\D | 查找非数字字符 | |
\s | 查找空白字符 | |
\S | 查找非空白字符 | |
\b | 匹配单词边界 | |
\B | 匹配非单词边界 | |
\0 | 查找 NUL字符 | |
\n | 查找换行符 | |
\f | 查找换页符 | |
\r | 查找回车符 | |
\t | 查找制表符 | |
\v | 查找垂直制表符 | |
\xxx | 查找以八进制数 xxxx 规定的字符 | |
\xdd | 查找以十六进制数 dd 规定的字符 | |
\uxxxx | 查找以十六进制 xxxx规定的 Unicode 字符 |
描述字符范围
[]内只有一个
- [abc]:查找方括号内任意一个字符。
- [^abc]:查找不在方括号内的字符。^在[]中表示除了
- [0-9]:查找从 0 至 9 范围内的数字,即查找数字。
- [a-z]:查找从小写 a 到小写 z 范围内的字符,即查找小写字母。
- [A-Z]:查找从大写 A 到大写 Z 范围内的字符,即查找大写字母。
- [A-z]:查找从大写 A 到小写 z 范围内的字符,即所有大小写的字母。
例子
匹配任意大小写字母和数字: var r = /[a-zA-Z0-9]/g;
匹配0-1000000的正整数:var r =/^(([1-9][0-9]{0,5})|0|1000000)$/
量词
量词 | 描述 |
---|---|
n+ | 匹配任何包含至少一个 n 的字符串 |
n* | 匹配任何包含零个或多个 n 的字符串 |
n? | 匹配任何包含零个或一个 n 的字符串 |
n{x} | 匹配包含 x 个 n 的序列的字符串 |
n{x,y} | 匹配包含最少 x 个、最多 y 个 n 的序列的字符串 |
n{x,} | 匹配包含至少 x 个 n 的序列的字符串 |