1.使用特殊的符号来做检验,目标是操作字符串
例如对:手机号,邮箱,身份证的校验等等
2.缺点:阅读性较差
优点:简便,代码简洁
语法规则:
1.[abc] : a,b,c当中必须有一个字母
2. [a-zA-Z] : a到z或者A-Z的字母
3. \d 也可以是[0-9] :0-9中的数字
4. X{n} :X,恰好n次 例如 [0-9]{2} 那就是在0-9中的恰好两个数 15, 54,43等等
5. X{n,} : X,至少n次 例如[0-9]{2} 那就是23,5345,333 都可以
6. x{n,m} :至少n次,最多m次 例如[0,9]{2,4} 就是2位数字到四位数字之间
例子:
<input type="text" name="username" pattern="[a-zA-Z]{6,12}"
required="required" placeholder="请输入6-12位的字母">
pattern的值就是正则表达式,来前台校验的
提取出来
[a-zA-Z]{6,12}
就是6-12位的字母
[a-zA-Z_0-9]{6,12}
就是6-12位的字符串,可以有数字1[3578]\d{9}
就是必须以1开头,3,5,7,8必须有一个,0-9的的九位数字
这个的目的就是检查手机号[a-zA-Z_0-9]{3,}@([a-zA-Z]{1,}|[0-9]{1,})(\\.[a-zA-Z]{1,})
这个留给自己分析吧,就是检查是否是邮箱的
课后:
前台校验可以减少服务器压力
但是有些手段可以绕过前台校验,所以必须前后台都检验