Skip to content

常用正则表达式

1、整数

js
^-?\\d+$

2、不能输入中文

js
^[^\u4e00-\u9fa5]{0,}$

3、只能输入汉字

js
^[\u4e00-\u9fa5]{0,}$

4、正整数

js
^[0-9]*[1-9][0-9]*$

5、判断是否包含中文

js
/[\x7f-\xff]/(preg_match("/[\x7f-\xff]/", $test));

6、手机号码验证--11 位--包含:移动、联通、电信

js
var reg = /^1[3|4|5|8][0-9]\d{4,8}$/ ;
---此正则表达式不能判断位数

完整判断:
var phone = $("#phoneMobile" ).val();
var reg = /^1[3|4|5|8][0-9]\d{4,8}$/ ;
if(phone == "" ){
alert("手机号码不能为空 ");
return false ;
}
if(isNaN(phone)||(phone.length!=11)){
  alert("请输入 11位的手机号码")
  return false;
}
if(!reg.test(phone)){
alert("手机号码有误 ");
return false;
}

7、Js 判断去空格

js
val().replace(/[ ]/g, "");

8、身份证号码判断--18 位

js
function isCardIdNo(num) {
  var factorArr = new Array(
    7,
    9,
    10,
    5,
    8,
    4,
    2,
    1,
    6,
    3,
    7,
    9,
    10,
    5,
    8,
    4,
    2,
    1
  );
  var parityBit = new Array(
    "1",
    "0",
    "X",
    "9",
    "8",
    "7",
    "6",
    "5",
    "4",
    "3",
    "2"
  );
  var varArray = new Array();
  var intValue;
  var lngProduct = 0;
  var intCheckDigit;
  var intStrLen = num.length;
  var idNumber = num;
  // initialize
  if (intStrLen != 15 && intStrLen != 18) {
    return false;
  }
  // check and set value
  for (i = 0; i < intStrLen; i++) {
    varArray[i] = idNumber.charAt(i);
    if ((varArray[i] < "0" || varArray[i] > "9") && i != 17) {
      return false;
    } else if (i < 17) {
      varArray[i] = varArray[i] * factorArr[i];
    }
  }

  if (intStrLen == 18) {
    // check date
    var date8 = idNumber.substring(6, 14);
    if (isDate8(date8) == false) {
      return false;
    }
    // calculate the sum of the products
    for (i = 0; i < 17; i++) {
      lngProduct = lngProduct + varArray[i];
    }
    // calculate the check digit
    intCheckDigit = parityBit[lngProduct % 11];
    // check last digit
    if (varArray[17] != intCheckDigit) {
      return false;
    }
  } else {
    // length is 15
    // check date
    var date6 = idNumber.substring(6, 12);
    if (isDate6(date6) == false) {
      return false;
    }
  }
  return true;
}

9、邮箱校验--- 正则表达式 --12345@163.com

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

//js方法---可以引用也可直接正则表达式在页面使用
function isMailCheck(validatorString) {
  if (validatorString != "") {
    var myreg =
      /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
    if (myreg.test(validatorString)) {
      return true;
    }
  }
  return false;
}

10、用户名--我们用到的-- 5-20 个字符(包括英文、数字、下划线、中文 )

js
var reg = /^[a-zA-Z0-9_\u4e00-\u9fa5]{5,20}$/;

11、密码

js
var reg = /^[a-zA-Z0-9_\u4e00-\u9fa5]{5,20}$/;

var reg1 = /^(\w){6,20}$/;

12、XSS 对应

js
function escapeHtml(value) {
  if (typeof value !== "string") {
    return value;
  }
  return value.replace(/[&<>`"'\/]/g, function (result) {
    return {
      "&": "&amp;",
      "<": "&lt;",
      ">": "&gt;",
      "`": "&#x60;",
      '"': "&quot;",
      "'": "&#x27;",
      "/": "&#x2f;",
    }[result];
  });
}

Released under the MIT License.