正则表达式
6个基本符号
^ 从头匹配
$ 结尾匹配
| 或者(多选一)
() 一种情况
[] (一个字符)选择范围
{} 出现次数
扩展
\d [0-9]
\D 非数字
\w [0-9,A-Z,a-z,_]
\W 非法字符
+ {1,} 至少一次
? {0,1} 至多一次
* {0,} 可有可无
常用
手机号码 1[3-9]\d{9}
QQ号码 [1-9]\d{5,10}
电子邮箱 \w+@\w+.\w+
个人网站 http[s]?://\w+.\w+
中文汉字 [\u4e00-\u9fa5]
0-100 (\d|[1-9]\d|100)$
应用 IP地址验证(0.0.0.0-255.255.255.255):
var info= $("#info").val();
var regInfo=/^((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]).){4}$/
if(regInfo.test(info+'.')){
alert("验证通过");
}else{
alert("验证失败");
}
问题:逻辑代码和属性验证结合实现数据校验
属性绑定
<input id=" uname " type="text" required pattern="^[a-z,A-Z]\w{3,15}$"/>
<input type="submit" value="提交"/>
提交事件 -> 注意:点击事件,非提交事件
$("input[type='submit']").click(function () {
});
表单对象 -> 注意:JS对象 并非 JQ对象
var uname = document.getElementById("uname");
条件控制
uname.validity.valueMissing 是否为空
uname.validity.patternMismatch 正则表达式是否匹配
表单控制
uname.setCustomValidity(""); //空信息 放行
uname.setCustomValidity("用户名不能为空"); //信息 阻止
Java - API
//import java.util.regex.Pattern;
//默认 全局匹配
String regInfo = "\\d";
String info = "1";
System.out.println(Pattern.matches(regInfo, info));