前端 - 開發中常用的正則校驗

小草莓蹦蹦跳發表於2020-11-27

1、不允許包含特殊字元

/[#\$%\^&\*【】@!!¥?|‘;:”“'。,、?<>+=:]+/g

2、不允許包含中文字元

/[^\x00-\xff]/ 

3、 校驗手機號是否合法

/^(((1[0-9]{1}[0-9]{1}))+\d{8})$/

4、校驗電子郵箱是否合法

 /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/

5、不允許包含漢字

 /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/

6、不允許出現全形字元

/[^\x00-\xff]/

7、校驗身份證號

function checkIDCard(sId){
  if (sId == null || sId == "") {
    return false;
  }
  var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"內蒙古",21:"遼寧",22:"吉林",23:"黑龍江",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖北",43:"湖南",44:"廣東",45:"廣西",46:"海南",50:"重慶",51:"四川",52:"貴州",53:"雲南",54:"西藏",61:"陝西",62:"甘肅",63:"青海",64:"寧夏",65:"新疆",71:"臺灣",81:"香港",82:"澳門",91:"國外"}
  var iSum=0 ;
  var info="" ;
  if(!/^\d{17}(\d|x)$/i.test(sId)) {
    return false;
  }
  sId=sId.replace(/x$/i,"a");
  if(aCity[parseInt(sId.substr(0,2))]==null) {
    return false;
  }
  var sBirthday = sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2));
  var d=new Date(sBirthday.replace(/-/g,"/")) ;
  if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate())){
    return false;
  }
  /*身份證號碼校驗位檢查*/
  for(var i = 17;i>=0;i --) {
    iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11) ;
  }
  if(iSum%11!=1) {
    return false;
  }
  return true;
}

8、校驗港澳證件號碼

/^[HMhm]{1}([0-9]{10}|[0-9]{8})$/

9、校驗臺灣證件號碼

/^\d{8}$|^\d{10}[ABD]$|^\d{18}$/

10、校驗護照

/^[a-zA-Z]{5,17}$/   且     /^[a-zA-Z0-9]{5,17}$/

11、去掉左右空格

param.replace(/(^\s*)|(\s*$)/g, "");

12、1-4位數字

/^[0-9]{1,4}$/

13、3位字元,支援數字或數字+英文大寫字母組合

/((^(?![0-9]+$)(?![A-Z]+$)[0-9A-Z]{3}$)|(^\d{3}$))/

14、1~5位字元,支援中文+數字組合,中文字元開頭

/^[^\x00-\xff][0-9]{0,4}$/

 

 

 

 

 

 

 

 

 

相關文章