常用內容的正則表達式

電子郵箱

描述:

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;


• .

 

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