一、回顾知识:
| . | 点字符匹配除回车(\r)、换行(\n)、行分隔符(\u2028)和分段符(\u2029)之外的所有字符 注:码点大于0xFFFF的Unicode字符不能被匹配,因为会被认为是两个字符。 |
| \w | 匹配字母或数字或下划线或汉字 |
| \s | 匹配任意的空白符 |
| \d | 匹配数字 |
| \b | 匹配单词的开始或结束 |
| ^ | 匹配字符串的开始 |
| $ | 匹配字符串的结束 |
| | | 竖线符号在正则中表示 ‘或关系’ , 即匹配其中之一即可 |
| /a/ | 字面量字符,匹配a,其中a可以换成其他的 |
| \ | 将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。 |
| * | |
| * | 匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于{0,}。 |
二、应用实践
1、最新手机号正则匹配:
正则:
/^1(3|4|5|6|7|8|9)\d{9}$/
解释:最新手机号段:以1开头,第二位是3~9中的任意一位,后面跟9位
示例:
getlength(e) {
let _this = this;
if (e.mp.detail.value.length != 11) {
_this.$showToast("请输入11位手机号", "none");
return false;
} else {
let reg = /^1(3|4|5|6|7|8|9)\d{9}$/;//最新手机号段:以1开头,第二位是3~9中的任意一位,后面跟9位
if (reg.test(_this.dataForm.oldMobile) || reg.test(_this.dataForm.newMobile) || reg.test(_this.dataForm.repeatMobile)) {
_this.$showToast("输入的手机号格式有误", "none");
return false
} else {
return true;
}
}
},
2、最新18位身份证号码
正则:
/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/
测试:在线测试正则工具
本文深入解析了正则表达式的常用语法,包括点字符、w、s、d、、^、$、|、转义字符、*等,并通过实例展示了如何使用正则表达式进行手机号和身份证号的有效验证。
3592

被折叠的 条评论
为什么被折叠?



