1.量词
* |
匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于{0,}。 |
+ |
匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。 |
? |
匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”。?等价于{0,1}。 |
{n} |
n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。 |
{n,} |
n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。 |
{n,m} |
m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o为一组,后三个o为一组。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。 |
范围:
\d <=> [0-9]
[范围]===》[a-z] [A-Za-z] ,[13579] [1-37-9]
[^范围] ====》不在范围内的 [^2-6]
| x|y == [xy]
()===>整体 1(3\d)|(8[13589])|(7[136])
实例:
1.判断输入的电脑号码是否正确
电话号码:<input type="text" name="tel" id="mytel" required="required"
placeholder="请输入电话号码" pattern="^(\+86)?1((3[0-9])|(5[0-9])|(7[135-8])|(8[0-35-9])|(9[17]))\d{8}$"/>
/*分析
1. +86可以出现一次或0次
2.号段:13[0-9],15[0-9],166,17[135-8],18[0-35-9],19[17]
3.\d{8}
/*
2.判断邮箱是否输入正确
分析:
1.开头:[A-Za-z0-9]{5,16}
2.必须包含的符号:@
3.@后面跟的字符:[a-z0-9]{2,5}
4.(.com|.cn)
邮箱:<input type="email" id="mail" name="mail" required="required" placeholder="请输入邮箱"
pattern="^[A-Za-z0-9]{5,16}@[a-z0-9]{2,5}\.((com)|(cn))$" title="请输入正确的邮箱"
/>
3.判断是否为非负整数
<input type="text" pattern="^0|[1-9]\d*$" />
4.判断是否为整数
<input type="text" pattern="^-?([1-9]\d*)|0$"/>
注:上面只是个人见解,本人初学者,如有不足之处,还望各位大牛批评指正。
原文:https://www.cnblogs.com/mengwenbiao/p/13504509.html