首先,需要熟悉以下语法
正则表达式语法 | 意义 |
---|---|
\d | 数字 |
\w | 字母、数字或下划线字符 |
{x} | (x为正整数,作用于前面的字符) 字符的位数 |
{1, 20} | 表示数字字符串长度的合法值为1到20 |
[0, 9] | 数字应在0-9之间 ([ ]中是可选字符集) |
[a-zA-Z] | 表示要求为字母 |
^ | 打头的字符要匹配紧跟^后面的规则。 例如:^[0,9] 表明打头的字符应是0-9之间的数字; ^The 表明所有以The打头的字符串 |
$ | 打头的字符要匹配紧靠$前面的规则。 例如: A$ 表示以A结尾的字符串 |
/^……$/ | 成对使用表示要求整个字符串完全匹配定义的规则,而不是只匹配字符串中的一个子串 |
+ | 出现“1次或多次” (对“ + ”前的字符进行限定) 例如:“ab+”表示一个字符串a,后面跟着一个或多个b |
* | 出现“0次或多次” (对“ * ”前的字符进行限定) |
? | 出现“0次或1次” (对“ ? ”前的字符进行限定) |
| | 表示“ 或 ” |
. | 表示任意字符 例如: ^.{3}$ 表示任意三个字符的字符串 |
[^……] | 表示不希望出现的字符 例如: [^a-zA-Z]% 表示百分号前不能出现字母 |
\ | 转义 例如 " \/"表示字符"/","\."表示字符"." |
( ) | 表示一个子表达式的开始和结束 |
根据以上语法, 给出几个例子
取值范围:
大于等于1的正整数:
/^[1-9]\d*$/
大于等于-1:
/^\d+$|-1+$/
-1或者大于等于1:
/^[1-9]\d*$|-1+$/
大于等于1, 小于等于60:
/^([1-9]|[1-5]\d|60)$/
大于等于1, 小于等于59:
/^([1-9]|[1-5]\d)$/
大于等于3,小于等于59:
/^([3-9]|[1-5]\d)$/
大于等于1,小于等于23:
/^([1-9]|1[0-9]|2[0-3])$/
范围为(0,65535] :
/^([1-9]|[1-9]\d|[1-9]\d(2)|[1-9]\d(3)|[1-5]\d(4)|6[0-4]\d(3)|65[0-4]\d(2)|655[0-2]\d|6553[0-5])$/
邮箱地址:
/^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-_.])+[A-Za-z\d]{2,4}$/
IP地址:(长4个字节,共32位,十进制为(0,255],不能以\\"0\\"开头)
/^((2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]\\d|[1-9])\\.)((2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]\\d|\\d)\\.){2}(2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]\\d|\\d)$/