web端常用JS正則校驗表示式總結
1、說明
web端開發時經常會用正則表示式對輸入進行校驗,比如手機號、郵箱、密碼、銀行卡號,等等,
這裡不追溯校驗的各個編碼規則,有想了解的可自行查詢,
下面總結了一些常用的正則表示式,分享給各位同學~
2、校驗表示式
2.1、手機號
正則表示式:/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/
2.2、郵箱
正則表示式:/^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/
2.3、密碼
正則表示式:/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/
上面的校驗規則:8-16位,不能是純字母、數字、不能有特殊字元
2.4、銀行卡號
正則表示式:/^([1-9]{1})(\d{14}|\d{18})$/
注意:使用這個校驗需去掉空格,方法:.replace(/\s+/g, "")
2.5、統一社會信用程式碼(企業)
正則表示式:/[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}/g
2.6、組織機構程式碼(企業)
正則表示式:/[a-zA-Z0-9]{8}-[a-zA-Z0-9]/
2.7、營業執照註冊號(企業)
正則表示式:/(^(?:(?![IOZSV])[\dA-Z]){2}\d{6}(?:(?![IOZSV])[\dA-Z]){10}$)|(^\d{15}$)/
2.8、身份證號
正則表示式:/^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))
(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/
說明:複製到本地時將中間的空格去掉即可,原諒我的強迫症~_~
2.9、使用方法
1、正則表示式物件兩個定義方式
1.1、建構函式定義
new RegExp(pattern, attributes);
1.2、//文字定義
var reg = /abc/g;
2、只簡要介紹正則表示式提供的3個常用校驗方法,test()、exec()、match()
test:返回 Boolean值,查詢對應的字串中是否存在,通過校驗返回true,反之返回false
exec:返回陣列,查詢並返回當前的匹配結果,不存在返回null
match:返回陣列,和exec基本上一致,區別在於exec是正則表示式的方法,match是String物件方法
3、示例
var phoneNum = 1111111111111;
var reg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
if (!reg.test(phoneNum)) {
alert("手機號錯誤!");
}
3、總結
以上總結的正則表示式我都已測試,有些可能不太嚴謹,如在使用時校驗發現問題可留言
歡迎各位同學交流分享~