简介
使用特殊的符号来做校验,目标是操作字符串。例如:手机号码、邮箱、身份证校验等。
缺点
虽然能简化书写,但是正则表达式的阅读性较差
语法规则
[abc] 只有一个字符:a、b或c(简单类)
[a-zA-Z] 只有一个字符:a-z或A-Z
\d 数字:[0-9]
X{n} X,恰好n次 [0-9]{2,}表示0-9中任意数字至少为两位12或123都可以
X{n,} X,至少n次
X{n,m} X,至少n次,但是不超过m次 [0-9]{2,6}比如12,123,1234,12345,123456
+ 加号表示前面字符的出现次数必须大于或等于一次
| 表示或
\\d 表示0-9
\\. 表示一个点
转义字符
\D:非数字
\s:空白字符(如空格、\t制表位、\n换行符等)
\S:非空白字符(出了空白字符以外的其他都可以)
\w:单词字符:[a-zA-Z_0-9](包括:a-z、A-Z、_下划线和0-9)
\W:非单词字符
在正则表达式中"^"表示正则的起始标记,"$"表示结束标记(可以不写)
java.lang.String
str.matches(String regex);
返回boolean值,告知此字符串是否匹配给定的正则表达式
eg:String data=" ";
String regex="\\S";
boolean flag=data.matches(regex);
返回值为false
邮箱校验:[a-zA-Z_0-9]{3,}@([a-zA-Z]+|\\d+)(\\.[a-zA-Z]+)+
前台校验局限性
优点
1.能够对数据进行初步的筛选,减少后台服务器的压力
2.使用HTML5校验,比较简单易用
弊端
可以通过一些手段绕过前端的校验
网友评论