日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
聊一聊常用正則表達(dá)式

本文轉(zhuǎn)載自微信公眾號「網(wǎng)羅開發(fā)」,作者誰在花里胡哨。轉(zhuǎn)載本文請聯(lián)系網(wǎng)羅開發(fā)公眾號。

創(chuàng)新互聯(lián)專注于做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、網(wǎng)站制作、網(wǎng)站開發(fā)。公司秉持“客戶至上,用心服務(wù)”的宗旨,從客戶的利益和觀點出發(fā),讓客戶在網(wǎng)絡(luò)營銷中找到自己的駐足之地。尊重和關(guān)懷每一位客戶,用嚴(yán)謹(jǐn)?shù)膽B(tài)度對待客戶,用專業(yè)的服務(wù)創(chuàng)造價值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。

提供日常開發(fā)中的一些js處理數(shù)據(jù)的方法,包括對數(shù)據(jù)的過濾,以及對數(shù)據(jù)的驗證等。也希望大家能留下你好用的方法~~

  • 數(shù)據(jù)過濾
    • 手機號碼隱藏中間4位
    • 保留兩位小數(shù)
    • 每三位逗號隔開,后面補兩位小數(shù),多用于金額數(shù)字
    • 銀行尾號四位數(shù)
    • 數(shù)字金額轉(zhuǎn)換為大寫人民幣漢字的方法
    • 獲取Url攜帶的地址參數(shù)
    • 金額以元和萬元為單位
    • 隱藏證件號
    • 用戶姓名脫敏
    • 賬號4位一空格
    • 字符全局替換
  • 數(shù)據(jù)驗證
    • 手機號驗證
    • 姓名校驗
    • 密碼必須為8-18位數(shù),且包含大小寫字母和特殊符號
    • 身份證號完整校驗
    • 只能輸入數(shù)字和字母
    • 校驗特殊字符

數(shù)據(jù)過濾

手機號碼隱藏中間4位

 
 
 
  1. //手機號碼隱藏中間4位 
  2. phoneHideMiddle(val) { 
  3.   if (val) { 
  4.     return `${val.substring(0, 3)}****${val.substring(val.length - 4)}` 
  5.   } 
  6.   else { 
  7.     return ""; 
  8.   } 

保留兩位小數(shù)

 
 
 
  1. //保留兩位小數(shù) 
  2. keepTwoNum(val) { 
  3.   val = Number(val); 
  4.   return val.toFixed(2); 
  5. }, 

每三位逗號隔開,后面補兩位小數(shù),多用于金額數(shù)字

 
 
 
  1. //每三位逗號隔開,后面補兩位小數(shù),多用于金額數(shù)字 
  2. floatThree(value) { 
  3.   // console.log(value) 
  4.   value = "" + value; 
  5.   if (!value) return '0.00'; 
  6.  
  7.   // var intPart = Number(value).toFixed(0); //獲取整數(shù)部分 
  8.   var intPart = parseInt(Number(value));//獲取整數(shù)部分 
  9.   // console.log('intPart',intPart) 
  10.   var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); //將整數(shù)部分逢三一斷 
  11.   // console.log('intPartFormat',intPartFormat) 
  12.  
  13.   var floatPart = ".00"; //預(yù)定義小數(shù)部分 
  14.   var value2Array = value.split("."); 
  15.  
  16.   //=2表示數(shù)據(jù)有小數(shù)位 
  17.   if (value2Array.length == 2) { 
  18.     floatPart = value2Array[1].toString(); //拿到小數(shù)部分 
  19.     // console.log('floatPart',floatPart) 
  20.     if (floatPart.length == 1) { //補0,實際上用不著 
  21.       return intPartFormat + "." + floatPart + '0'; 
  22.     } else { 
  23.       return intPartFormat + "." + floatPart; 
  24.     } 
  25.  
  26.   } else { 
  27.     return intPartFormat + floatPart; 
  28.   } 
  29. }, 

銀行尾號四位數(shù)

 
 
 
  1. //銀行尾號四位數(shù) 
  2. bankCardNumLastFour(val) { 
  3.   // val = Number(val); 
  4.   if (val) { 
  5.     return val.substring(val.length - 4); 
  6.   } 
  7. }, 

數(shù)字金額轉(zhuǎn)換為大寫人民幣漢字的方法

 
 
 
  1. //數(shù)字金額轉(zhuǎn)換為大寫人民幣漢字的方法 
  2. convertCurrency(money) { 
  3.   //漢字的數(shù)字 
  4.   var cnNums = new Array('零', '壹', '貳', '叁', '肆', '伍', '陸', '柒', '捌', '玖'); 
  5.   //基本單位 
  6.   var cnIntRadice = new Array('', '拾', '佰', '仟'); 
  7.   //對應(yīng)整數(shù)部分?jǐn)U展單位 
  8.   var cnIntUnits = new Array('', '萬', '億', '兆'); 
  9.   //對應(yīng)小數(shù)部分單位 
  10.   var cnDecUnits = new Array('角', '分', '毫', '厘'); 
  11.   //整數(shù)金額時后面跟的字符 
  12.   var cnInteger = '整'; 
  13.   //整型完以后的單位 
  14.   var cnIntLast = '元'; 
  15.   //最大處理的數(shù)字 
  16.   var maxNum = 999999999999999.9999; 
  17.   //金額整數(shù)部分 
  18.   var integerNum; 
  19.   //金額小數(shù)部分 
  20.   var decimalNum; 
  21.   //輸出的中文金額字符串 
  22.   var chineseStr = ''; 
  23.   //分離金額后用的數(shù)組,預(yù)定義 
  24.   var parts; 
  25.   if (money == '') { return ''; } 
  26.   money = parseFloat(money); 
  27.   if (money >= maxNum) { 
  28.     //超出最大處理數(shù)字 
  29.     return ''; 
  30.   } 
  31.   if (money == 0) { 
  32.     chineseStr = cnNums[0] + cnIntLast + cnInteger; 
  33.     return chineseStr; 
  34.   } 
  35.   //轉(zhuǎn)換為字符串 
  36.   money = money.toString(); 
  37.   if (money.indexOf('.') == -1) { 
  38.     integerNum = money; 
  39.     decimalNum = ''; 
  40.   } else { 
  41.     parts = money.split('.'); 
  42.     integerNum = parts[0]; 
  43.     decimalNum = parts[1].substr(0, 4); 
  44.   } 
  45.   //獲取整型部分轉(zhuǎn)換 
  46.   if (parseInt(integerNum, 10) > 0) { 
  47.     var zeroCount = 0; 
  48.     var IntLen = integerNum.length; 
  49.     for (var i = 0; i < IntLen; i++) { 
  50.       var n = integerNum.substr(i, 1); 
  51.       var p = IntLen - i - 1; 
  52.       var q = p / 4; 
  53.       var m = p % 4; 
  54.       if (n == '0') { 
  55.         zeroCount++; 
  56.       } else { 
  57.         if (zeroCount > 0) { 
  58.           chineseStr += cnNums[0]; 
  59.         } 
  60.         //歸零 
  61.         zeroCount = 0; 
  62.         chineseStr += cnNums[parseInt(n)] + cnIntRadice[m]; 
  63.       } 
  64.       if (m == 0 && zeroCount < 4) { 
  65.         chineseStr += cnIntUnits[q]; 
  66.       } 
  67.     } 
  68.     chineseStr += cnIntLast; 
  69.   } 
  70.   //小數(shù)部分 
  71.   if (decimalNum != '') { 
  72.     var decLen = decimalNum.length; 
  73.     for (var i = 0; i < decLen; i++) { 
  74.       var n = decimalNum.substr(i, 1); 
  75.       if (n != '0') { 
  76.         chineseStr += cnNums[Number(n)] + cnDecUnits[i]; 
  77.       } 
  78.     } 
  79.   } 
  80.   if (chineseStr == '') { 
  81.     chineseStr += cnNums[0] + cnIntLast + cnInteger; 
  82.   } else if (decimalNum == '') { 
  83.     chineseStr += cnInteger; 
  84.   } 
  85.   return chineseStr; 
  86. }, 

獲取Url攜帶的地址參數(shù)

 
 
 
  1. //獲取Url攜帶的地址參數(shù) 
  2. GetQueryString(name) { 
  3.   //index.html?token=9b68dd98306327bf&action=2 
  4.   var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); 
  5.   if (window.location.search != "") { 
  6.     var r = window.location.search.substr(1).match(reg); 
  7.   } else { 
  8.     if (window.location.hash.indexOf("?") > 0) { 
  9.       var tmp = window.location.hash.split("?"); 
  10.       var r = tmp[1].match(reg); 
  11.     } else { 
  12.       var r = null; 
  13.     } 
  14.   } 
  15.   if (r != null) { 
  16.     return decodeURI(r[2]); 
  17.   } 
  18.   return null; 
  19. }, 

金額以元和萬元為單位

 
 
 
  1. //金額以元和萬元為單位 
  2. moneyConvert(num) { 
  3.   var newNum = Number(num); 
  4.   if (10000 <= newNum) { 
  5.     return (newNum / 10000) + '萬元' 
  6.   } else { 
  7.     return newNum + '元' 
  8.   } 
  9. }, 

隱藏證件號

 
 
 
  1. //隱藏證件號 
  2. certIdHide(val) { 
  3.   if (val) { 
  4.     var certId = val.substring(0, 1) + '****************' + val.substring(val.length - 1) 
  5.     return certId 
  6.   } 
  7. }, 

用戶姓名脫敏

 
 
 
  1. //用戶姓名脫敏 
  2. userNameHide(val) { 
  3.   if (val) { 
  4.     let name; 
  5.     if (val.length < 3) { 
  6.       name = '*' + val.substring(val.length - 1) 
  7.       return name 
  8.     } else { 
  9.       name = val.substring(0, 1) + '*' + val.substring(val.length - 1) 
  10.       return name 
  11.     } 
  12.   } 
  13. }, 

賬號4位一空格

 
 
 
  1. //賬號4位一空格 
  2. accountNumberSpace(val) { 
  3.   if (val) { 
  4.     return val.replace(/\s/g, "") 
  5.       .replace(/\D/g, "") 
  6.       .replace(/(\d{4})(?=\d)/g, "$1 "); 
  7.   } 

字符全局替換

 
 
 
  1. //字符全局替換 
  2. res.data.content = res.data.content.replace(/\

數(shù)據(jù)驗證

手機號驗證

 
 
 
  1. // 手機號驗證 
  2. isvalidPhone(str) { 
  3.   const reg = /^1\d{10}$/ 
  4.   return reg.test(str) 
  5. }, 

姓名校驗

 
 
 
  1. //姓名校驗 
  2. isUserName(name) { 
  3.   if (name && name.length > 1) { 
  4.     const reg = name.match(/^[\u4e00-\u9fa5]+$/) 
  5.     return Boolean(reg) 
  6.   } 
  7.   return false 
  8. }, 

密碼必須為8-18位數(shù),且包含大小寫字母和特殊符號

 
 
 
  1. //密碼必須為8-18位數(shù),且包含大小寫字母和特殊符號 
  2. /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!~@#$%^&*,\.])[0-9a-zA-Z!~@#$%^&*,\\.]{8,18}$/ 

身份證號完整校驗

 
 
 
  1. //   * 身份證號完整校驗 
  2. // * ***/ 
  3. isvalidateIdnumber(value) { 
  4.   if (value.length == 18) { 
  5.     var Errors = new Array( 
  6.       "驗證通過!", 
  7.       "身份證號碼位數(shù)不對!", 
  8.       "身份證號碼出生日期超出范圍或含有非法字符!", 
  9.       "身份證號碼校驗錯誤!", 
  10.       "身份證地區(qū)非法!" 
  11.     ); 
  12.     var area = { 
  13.       11: "北京", 
  14.       12: "天津", 
  15.       13: "河北", 
  16.       14: "山西", 
  17.       15: "內(nèi)蒙古", 
  18.       21: "遼寧", 
  19.       22: "吉林", 
  20.       23: "黑龍江", 
  21.       31: "上海", 
  22.       32: "江蘇", 
  23.       33: "浙江", 
  24.       34: "安徽", 
  25.       35: "福建", 
  26.       36: "江西", 
  27.       37: "山東", 
  28.       41: "河南", 
  29.       42: "湖北", 
  30.       43: "湖南", 
  31.       44: "廣東", 
  32.       45: "廣西", 
  33.       46: "海南", 
  34.       50: "重慶", 
  35.       51: "四川", 
  36.       52: "貴州", 
  37.       53: "云南", 
  38.       54: "西藏", 
  39.       61: "陜西", 
  40.       62: "甘肅", 
  41.       63: "青海", 
  42.       64: "寧夏", 
  43.       65: "新疆", 
  44.       71: "臺灣", 
  45.       81: "香港", 
  46.       82: "澳門", 
  47.       91: "國外" 
  48.     }; 
  49.     //身份證號碼  idcard 
  50.     var Y; //為身份證號碼所有數(shù)字經(jīng)過特定算法以后對11取余所得到的數(shù)值 
  51.     var JYM; //固定數(shù)值 校驗碼的計算中會用到 
  52.     var S; //身份證號碼所有數(shù)字經(jīng)過特定算法以后所得到的值 
  53.     var M; //校驗位數(shù)值 
  54.     var idcard_array = value.split(""); 
  55.     var ereg; 
  56.     //console.log(idcard_array); 
  57.     //地區(qū)檢驗 
  58.     if (area[parseInt(value.substr(0, 2))] == null) { 
  59.       // $.fn.validatebox.defaults.rules.IDNumber.message = Errors[4]; 
  60.       console.log(Errors[4]); 
  61.       return false; 
  62.     } 
  63.  
  64.  
  65.     if (parseInt(value.substr(6, 4)) % 4 == 0 || (parseInt(value.substr(6, 4)) % 100 == 0 && parseInt(value.substr(6, 4)) % 4 == 0)) { 
  66.       ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/; 
  67.       //閏年出生日期的合法性正則表達(dá)式 
  68.     } else { 
  69.       ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/; 
  70.       //平年出生日期的合法性正則表達(dá)式 
  71.     } 
  72.     if (ereg.test(value)) { //測試出生日期的合法性 
  73.       //計算校驗位 
  74.       S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 + 
  75.         (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 + 
  76.         (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 + 
  77.         (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 + 
  78.         (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 + 
  79.         (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 + 
  80.         (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 + 
  81.         parseInt(idcard_array[7]) * 1 + 
  82.         parseInt(idcard_array[8]) * 6 + 
  83.         parseInt(idcard_array[9]) * 3; 
  84.       Y = S % 11; 
  85.       M = "F"; 
  86.       JYM = "10X98765432"; 
  87.       M = JYM.substr(Y, 1); //判斷校驗位 身份證最后一位為校驗位 如果身份證號碼正確 則最后一位會與M值相同 
  88.       if (M == idcard_array[17]) { 
  89.         return true; 
  90.       } else { 
  91.         console.log(Errors[3]); 
  92.         return false; 
  93.       } 
  94.     } else { 
  95.       console.log(Errors[3]); 
  96.       return false; 
  97.     } 
  98.   } else { 
  99.     console.log("身份證號碼長度不對"); 
  100.     return false; 
  101.   } 
  102. }, 

只能輸入數(shù)字和字母

 
 
 
  1. //只能輸入數(shù)字和字母 
  2. isvalidateLetterAndNum(str) { 
  3.   const reg = /^[0-9a-zA-Z]+$/; 
  4.   console.log(reg.test(str)); 
  5.   return reg.test(str) 
  6. }, 

校驗特殊字符

 
 
 
  1. // 校驗特殊字符 
  2. isSpecialChars(str) { 
  3.   var regEn = /[`~!@#$%^&*()_+<>?:"{},.\/;'[\]]/im; 
  4.   var regCn = /[·!#¥(——):;“”‘、,|《。》?、[\]]/im; 
  5.   console.log(regEn.test(str)) 
  6.   if (regEn.test(str) || regCn.test(str)) { 
  7.     return false 
  8.   } else { 
  9.     return true 
  10.   } 

文章標(biāo)題:聊一聊常用正則表達(dá)式
網(wǎng)站鏈接:http://www.5511xx.com/article/djghhsp.html