正则表达式
正则表达式是一种强大的文本处理工具,用于搜索、替换、检查文本模式。以下是六个基础的正则表达式符号及其意义:
-
点(
.
)
这个符号匹配除换行符以外的任何单个字符。例如,a.b
可以匹配"axb"、“a2b”、"a$b"等。 -
星号(
*
)
它表示前面的字符可以出现零次或多次。例如,a*b
可以匹配"b"、“ab”、“aab”、"aaab"等。 -
加号(
+
)
类似于星号,但是表示前面的字符至少出现一次。例如,a+b
可以匹配"ab"、“aab”、“aaab"等,但不会匹配单独的"b”。 -
问号(
?
)
它表示前面的字符可以出现零次或一次。例如,a?b
可以匹配"b"或者"ab"。 -
脱字符(
^
)
当它出现在一个字符串的开始位置时,表示匹配行的开始。例如,^a
将会匹配以"a"开始的任何字符串。当^
用在方括号表达式内部时,表示否定的意思,例如[^a]
表示非"a"的任何字符。 -
美元符号(
$
)
它用来匹配行的结束。例如,a$
将会匹配以"a"结束的任何字符串。
这些符号经常组合使用来创建更复杂的搜索模式。例如,^a.*b$
可以匹配以"a"开始以"b"结束的任何行。这些基础符号是构建复杂正则表达式的基石,通过学习它们,您可以开始对文本执行基本的模式匹配操作。
使用HTML5验证博客园注册页面
问题一:数据校验,正则表达式
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));