1. 程式人生 > >web端常用JS正則校驗表示式總結

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、總結

      以上總結的正則表示式我都已測試,有些可能不太嚴謹,如在使用時校驗發現問題可留言

      歡迎各位同學交流分享~