2021.7.27

部分正则表达式

1.

对手机号码和固定电话的正则表达式:

/^1[3,4,5,7,8][0-9]{9}$/

^1:代表手机号码第一位是1

[3,4,5,7,8]:第二位是34578中的一位(3G网卡里有14这种,其他的像16,19还没发现)

[0-9]{9}$:9位0到9的数字

function isPhone($phoneInput){
var myreg = /^1[3,4,5,7,8][0-9]{9}$/;
if(!myreg.text($phoneInput.val())){
alert("手机号码错误!!!")
return false;
}else{
return true;
}
}

/^0[0-9]{2,3}-[0-9]{7,8}$/

^0:第一位是0

[0-9]{2,3};从0到9里面选2到3位

-:是-符号

[0-9]{7,8}$:从0到9里面选7到8位

function isPhone($phoneInput){
var myreg = /^0[0-9]{2,3}-[0-9]{7,8}$/;
if(!myreg.text($phoneInput.val())){
alert("固定手机号码错误!!!")
return false;
}else{
return true;
}

2.

对电子邮箱的正则表达式

/^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/

\:将下一个字符标记为特殊字符或字面值。
* :匹配前一个字符零次或几次。
+ :匹配前一个字符一次或多次。
\w :与任何单词字符匹配(包括下划线)

{2,3} :2到3次

function isEmail($EmailInput){
var myreg = /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/;
if(!myreg.text($EmailInput.val())){
alert("电子邮箱格式错误!!!")
return false;
}else{
return true;
}
}

3.

对身份证号的正则表达式(18位的)

 ^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$

[1-9]\d{5} :前六位,每个地区的前六位都不同的,我们那是130133的

(18|19|([23]\d))\d{2}:出生年份

((0[1-9])|(10|11|12)):出生月份

(([0-2][1-9])|10|20|30|31):出生日期,最多到到31天

\d{3}[0-9Xx]:顺序码三位和一位校验码

 

今天遇到的问题:对邮箱的正则,真的是晕,各种规则和到一块,一点一点的细扣去理解每一块,现在写的是新版的                               那种规则。写生日正则的时候要考虑到月份的天数,判断闰年,目前没学会。

明天要做什么:学习其他属性的正则,打算写个普通注册网页,给每种属性加上各种正则    

posted @ 2021-07-27 16:58  鯨落  阅读(45)  评论(0编辑  收藏  举报