开发工具与关键技术:VS+MVC
作者:茅凯翔
撰写时间:2019年7月12日
正则表达式想必大家都知道吧,正则表达式(规则表达式),英文称为RE(Regular Expression)。正则表达式通常被用来检索、替换那些字符某个模式(规则)的文本。往细里面说就是在编写处理字符串的程序或者网页时,经常会有查找符合某些复杂规则的字符串的需要,就是用正则表达式来描述这些规则的工具。好像还是看不懂!后面用例子解释。
正好我在做的几个功能都需要用到正则表达式,我需要用正则表达式来验证身份证、银行卡号、手机号码、邮箱什么的。不止可以验证这些,还有很多,主要是我现在用不到,我就讲我用到的。首先验证身份证,身份证有两种方法,第一种是简单验证它的数量是不是15位或者18位,或者是17位后面有大小写X。声明变量来接收:var papersNumber = /(\d{15}$)|(^\d{18}$)|(\d{17}(\d|X|x)
)
/
;
,
开
头
跟
结
尾
都
要
用
“
/
”
,
要
不
然
中
间
的
全
都
用
不
了
。
然
后
括
号
里
面
先
放
“
”
,
“
”
匹
配
字
符
串
的
开
始
,
“
)/;,开头跟结尾都要用“/”,要不然中间的全都用不了。然后括号里面先放“^”,“^”匹配字符串的开始,“
)/;,开头跟结尾都要用“/”,要不然中间的全都用不了。然后括号里面先放“”,“”匹配字符串的开始,“”匹配字符串的结束,所以“$”都是用于结束。“\d”只匹配数字,“{15}”15位数,中间的“|”就是或者,因为后面还有需要匹配的。第二个就是只匹配18位数的数字。第三个就是只匹配17位数加上大小写的X的数字。第二种是已经封装好了的方法,第二种很严谨,每一个数字都要匹配,匹配前面的两位数有没有对应省的数字,还有再用正则表达式来匹配闰年和平年的出生日期的合法性,再匹配你给的出生日期是否正确。下面就是引用封装的方法:获取到身份证的ID,声明变量来接收已被正则表达式验证的身份证ID,然后判断获取到的身份证是否正确,不正确便弹出提示框。
然后我再来说说使用正则表达式的银行卡号、手机号码、邮箱,为什么要一起说呢,因为它们都是差不多一样的,跟身份证第一种方法是同样的方法。都是声明变量来接收正则表达式的方法。第一种是手机号码的正则表达式,开始符与结束符就不多说了,这里的只匹配手机号码前面三位数,中国的手机号码都是以13什么、14什么、18什么开头的,所以前面两位是固定的,匹配13和1到9的任意一位数;或者匹配14和5或者7;再或者匹配到15和0到9任意一位数,除了4;再或者匹配到18和0到9的任意一位数,也是除了4,最后再匹配任意的八位数只是数字就可以了。第二种是邮箱的正则表达式,开始符与结束符不说了,只匹配从6到10的数字,([1-9]和{6,10}他俩是一样的意思,方括号里面是要“-”,花括号里面是要“,”),因为QQ邮箱后面的都是固定的,所以直接把@qq.com放了上去,qq前面那个“.”就是匹配除换行符以外的任意字符。第三种是银行卡号的正则表达式,这个是最简单也最直接的匹配方式,因为匹配银行卡号的正则表达式我不会,只能匹配只是19位数字的,以后会银行卡号的正则表达式我再换上去。
正则表达式写完,就在下面开始写判断,判断要写在执行操作的后面,我就拿判断手机号码来说,声明变量要写在执行操作的前面,前面的是正则表达式声明的名字,后面的是上面声明手机号码的ID的名字,然后用layer插件的提示框,最后为返回值。