常用内容的正则表达式

电子邮箱

描述:

1、要忽略掉大小写

2、有vip.qq.com 这样的vip的qq邮箱,有sina.com.cn这样的长结尾邮箱

2、以非下划线开头,数字字母下划线为内容,以@分隔,以域名为结尾。@以后的域名就会适用于域名规则了,即  字母数字减号.com net .cn .cc,也有.com.cn

5、网易邮箱的规则是:6到18个字符,可以使用字母、数字、下划线,需要以字母开头

6、新浪邮箱的规则是:4~16个字符,可以使用小写字母、数字、下划线、下划线不能在开头

[A-Za-z0-9\.\-_]{2,20}@[A-Za-z0-9\.\-]+

测试数据

g36314317@126.com
hello2@125.com
g44_cc@123.com
zhango_cc@123.com
12345@qQ.com
123123@139.com
q123123@china-ren.com
asdfsdf@vip.sina.com.cn
12345@vip.qq.com
12345@vip.qq.com
wangyanping1969@163.com
375669211@QQ.com
1245852@vip.QQ.com
1354654@aa.com
wgy180@china-invs.cn
abc@126.com
_qda@aa.com
-------------------
以上正确   以下错误
-------------------
h哈1@ss.com
哈1@22a.com
 @1.com
qao_cc@ 123.com 

 

 

结果

 

 

身份证号

注释:不校验“非闰年,2月29日的问题”

参考:https://www.jb51.net/article/109384.htm

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

 

 

 

手机号码

说明:因为手机号码有各种号码段,以后也可能开通更多的号码段,所以只进行粗放限制,首位为1,纯数字,共11位

* 移动号码段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、187、188、147

* 联通号码段:130、131、132、136、185、186、145
* 电信号码段:133、153、180、189,177
^1\d{10}$'

 

固定电话号码

区号为3到4位以0开头,电话1-9开头,共6到8位,如果有分机号,再加上分机号2~4位 

^(0[0-9]{2,3}-)?[1-9][0-9]{5,7}(-[0-9]{3,4})?$

 

 

日期

考虑平年闰年  参考 https://www.cnblogs.com/mgod/archive/2007/04/26/728628.html

(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)

 

 

 

月份

如有需要,去掉减号

(18|19|20)[0-9]{2}-(0[1-9]|1[012])

 

姓名

 

select xingming from cr_gr_test WHERE ASCIISTR(TRIM(xingming)) NOT BETWEEN '\4E00' AND '\9FA5' OR LENGTHB(TRIM(xingming))<4;--武汉
select xingming from cr_gr_test WHERE regexp_like(xingming,'[\u4e00-\u9fa5]{2,5}');
select xingming from cr_gr_test WHERE regexp_like(xingming,'[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,20}');--网上1
select xingming,rowid from cr_gr_test WHERE regexp_like(xingming,'[\u4E00-\u9FFF]{2,4}');--网上2
select xingming from cr_gr_test WHERE regexp_like(xingming,'[\u4e00-\u9fa5\u36c3\u4DAE]{2,}');--网上3

select xingming,rowid from cr_gr_test WHERE regexp_like(xingming,'[\u4E00-\u9FFF]{2,4}');--网上2
select xingming,rowid from cr_gr_test WHERE not regexp_like(xingming,'[\u4E00-\u9FFF]{2,4}');--网上2

select xingming from cr_gr_test where ASCIISTR(TRIM(xingming)) NOT BETWEEN '\4E00' AND '\9FA5' OR LENGTHB(TRIM(xingming))<4;
select xingming , ASCIISTR(TRIM(xingming)) from cr_gr_test;

select ASCIISTR('㾊') from dual;
Select UNISTR ('\9fFF') from dual;


• .

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章