JS常用正則表達式大全

来源:http://www.cnblogs.com/mabaoqing/archive/2017/05/31/6923642.html
-Advertisement-
Play Games

轉載自:http://blog.csdn.net/lun379292733/article/details/8169807/ <script type="text/JavaScript"> /* * 手機號碼格式 * 只允許以13、15、18開頭的號碼 * 如:13012345678、1592922 ...


轉載自:http://blog.csdn.net/lun379292733/article/details/8169807/

<script type="text/JavaScript">
/*
 * 手機號碼格式
 * 只允許以13、15、18開頭的號碼
 * 如:13012345678、15929224344、18201234676
 */
var regMobile=/^1[3,5,8]\d{9}$/;

/*
 * 固定電話號碼格式
 * 因為固定電話格式比較複雜,情況比較多,主要驗證了以下類型
 * 如:010-12345678、0912-1234567、(010)-12345678、(0912)1234567、(010)12345678、(0912)-1234567、01012345678、09121234567
 */
var regPhone=/^(^0\d{2}-?\d{8}$)|(^0\d{3}-?\d{7}$)|(^0\d2-?\d{8}$)|(^0\d3-?\d{7}$)$/;

/*
 * Email郵箱
 * 如:[email protected][email protected][email protected]
 */
var regEmail=/^([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+(\.[a-zA-Z]{2,3})+$/;

/*
 * 身份證15位編碼規則:dddddd yymmdd xx p
 * dddddd:6位地區編碼
 * yymmdd: 出生年(兩位年)月日,如:910215
 * xx: 順序編碼,系統產生,無法確定
 * p: 性別,奇數為男,偶數為女
 * 
 * 身份證18位編碼規則:dddddd yyyymmdd xxx y
 * dddddd:6位地區編碼
 * yyyymmdd: 出生年(四位年)月日,如:19910215
 * xxx:順序編碼,系統產生,無法確定,奇數為男,偶數為女
 * y: 校驗碼,該位數值可通過前17位計算獲得
 * 
 * 前17位號碼加權因數為 Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ]
 * 驗證位 Y = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ]
 * 如果驗證碼恰好是10,為了保證身份證是十八位,那麼第十八位將用X來代替
 * 校驗位計算公式:Y_P = mod( ∑(Ai×Wi),11 )
 * i為身份證號碼1...17 位; Y_P為校驗碼Y所在校驗碼數組位置
 */
function validateIdCard(idCard){
 //15位和18位身份證號碼的正則表達式
 var regIdCard=/^(^[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])$)$/;

 //如果通過該驗證,說明身份證格式正確,但準確性還需計算
 if(regIdCard.test(idCard)){
  if(idCard.length==18){
   var idCardWi=new Array( 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ); //將前17位加權因數保存在數組裡
   var idCardY=new Array( 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ); //這是除以11後,可能產生的11位餘數、驗證碼,也保存成數組
   var idCardWiSum=0; //用來保存前17位各自乖以加權因數後的總和
   for(var i=0;i<17;i++){
    idCardWiSum+=idCard.substring(i,i+1)*idCardWi[i];
   }

   var idCardMod=idCardWiSum%11;//計算出校驗碼所在數組的位置
   var idCardLast=idCard.substring(17);//得到最後一位身份證號碼

   //如果等於2,則說明校驗碼是10,身份證號碼最後一位應該是X
   if(idCardMod==2){
    if(idCardLast=="X"||idCardLast=="x"){
     alert("恭喜通過驗證啦!");
    }else{
     alert("身份證號碼錯誤!");
    }
   }else{
    //用計算出的驗證碼與最後一位身份證號碼匹配,如果一致,說明通過,否則是無效的身份證號碼
    if(idCardLast==idCardY[idCardMod]){
     alert("恭喜通過驗證啦!");
    }else{
     alert("身份證號碼錯誤!");
    }
   }
  } 
 }else{
  alert("身份證格式不正確!");
 }
}

/*
 * 只能為正整數
 */
var regNum=/^\d+$/;

/*
 * 郵政編碼
 */
var regPostCode=/^\d{6}$/;

/*
 * 用戶名
 * 只能是字母數字下劃線,並且以字母開頭(5-16位)
 */
var regUserName=/^[a-zA-Z]\w{4,15}$/;

/*
 * IP地址
 * 如:192.168.1.102
 */
var regIP=/^((([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}(([1-9]\d?)|(1\d{2})|(2[0-4]\d)|(25[0-5]))$/;

/*
 * 只能是中文漢字
 */
var regChineseChar=/^[\u4e00-\u9fa5]+$/;

/*
 * 網址
 * 只允許http、https、ftp這三種
 * 如:http://www.baidu.com
 */
var regWeb=/^(([hH][tT]{2}[pP][sS]?)|([fF][tT][pP]))\:\/\/[wW]{3}\.[\w-]+\.\w{2,4}(\/.*)?$/;

/*
 * 日期格式驗證
 * 因為日期格式比較多,主要驗證了以下類型
 * 2012-05-14、2012/05/6、2012.5.14、20120528
 */
var regDate=/^[1-9]\d{3}([-|\/|\.])?((0\d)|([1-9])|(1[0-2]))\1(([0|1|2]\d)|([1-9])|3[0-1])$/;

/*
 * 調用以上正則表達式的方法
 * 以驗證電話號碼格式為例
 */
function onCheck(tel){
 if(regMobile.test(tel)){
  alert("恭喜通過驗證啦!");
  
 }else{
  alert("格式不正確!");
 }
}
</script>

 

   
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一. Set 類似數組,成員值唯一,var s = new Set() s加入值用add,加入時不會發生類型轉換(判斷兩值是否相等用的 ,但Set會認為NaN等於自己) Set.prototype.constructor Set , Set.prototype.size返回Set實例的成員總數 de ...
  • layer是一款近年來備受青睞的web彈層組件,她具備全方位的解決方案,致力於服務各水平段的開發人員,您的頁面會輕鬆地擁有豐富友好的操作體驗。 插件官方地址:http://layer.layui.com/ layer 甚至相容了包括IE6在內的所有主流瀏覽器。 少說多做,代碼演示(拷貝直接運行): ...
  • 1 <!DOCTYPE html> 2 <html ng-app="a2_15"> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title>select控制項</title> 6 <script src="js/angular.js" type="te ...
  • 學習vue時寫的一個小demo 雖然實現很簡單,但還是推介看看,沒什麼難點,而且有些東西你可能會用到!線上演示demo源碼 ...
  • mongoose.connect('mongodb://username:[email protected]:27017/qianxunkefu_db')換成mongoose.connect('mongodb://username:[email protected]:27017/qianxunk ...
  • 《jQuery基礎教程(第4版)》是jQuery經典技術教程的*升級版,涵蓋jQuery 1.10.x和jQuery2.0.x。本書前6章以通俗易懂的方式講解了jQuery的核心組件,包括jQuery的選擇符、事件、動畫、DOM操作、Ajax支持等。第7章和第8章介紹了jQueryUI、jQuery ...
  • 這是Webpack+React系列配置過程記錄的第五篇。其他內容請參考: 第一篇:使用webpack、babel、react、antdesign配置單頁面應用開發環境 第二篇:使用react-router實現單頁面應用路由 第三篇:優化單頁面開發環境:webpack與react的運行時打包與熱更新 ...
  • 一、after()和before()方法的區別 after()——其方法是將方法裡面的參數添加到jquery對象後面去; 如:A.after(B)的意思是將B放到A後面去; before()——其方法是將方法裡面的參數添加到jquery對象前面去。 如:A.before(B)的意思是將A放到B前面去 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...