8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

JavaScript常用开发库:常用的验证方法

IT171中文网 游客组 2013-10-24 1372

  //验证
  WebJs.Regexp = {
  //email的判断
  Ismail: function (mail) {
  var reg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
  return reg.test(mail);
  // return (new RegExp(/^\w+((-\w+)|(\.\w+))*\-AT-[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
  },
  //验证身份证
  IsIdCardNo: function (num) {
  var factorArr = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1];
  var error,
  varArray = [],
  intValue,
  lngProduct = 0,
  intCheckDigit,
  intStrLen = num.length,
  idNumber = num;
  if ((intStrLen != 15) && (intStrLen != 18)) {
  return false;
  }
  for (var i = 0; i < intStrLen; i++) {
  varArray = idNumber.charAt(i);
  if ((varArray < '0' || varArray > '9') && (i != 17)) {
  return false;
  } else if (i < 17) {
  varArray = varArray * factorArr;
  }
  }
  if (intStrLen == 18) {
  var date8 = idNumber.substring(6, 14);
  // ReSharper disable UseOfImplicitGlobalInFunctionScope
  if (checkDate(date8) == false) {
  // ReSharper restore UseOfImplicitGlobalInFunctionScope
  return false;
  }
  for (i = 0; i < 17; i++) {
  lngProduct = lngProduct + varArray;
  }
  intCheckDigit = 12 - lngProduct % 11;
  switch (intCheckDigit) {
  case 10:
  intCheckDigit = 'X';
  break;
  case 11:
  intCheckDigit = 0;
  break;
  case 12:
  intCheckDigit = 1;
  break;
  }
  if (varArray[17].toUpperCase() != intCheckDigit) {
  return false;
  }
  } else {
  var date6 = idNumber.substring(6, 12);
  // ReSharper disable UseOfImplicitGlobalInFunctionScope
  if (checkDate(date6) == false) {
  // ReSharper restore UseOfImplicitGlobalInFunctionScope
  return false;
  }
  }
  return true;
  },
  //校验密码:只能输入6-15个字母、数字
  IsPasswd: function (s) {
  var patrn = /^[a-zA-Z0-9]{6,15}$/;
  if (!patrn.exec(s)) return false;
  return true;
  },
  //校验手机号码:必须以数字开头
  IsMobile: function (s) {
  //00852验证香港区号
  var patrn = /^(13[0-9]|15[012356789]|18[0236789]|14[57]|00852)[0-9]{8}$/;
  return patrn.test(s);
  },
  //1-16个中文
  IsChinese: function (s) {
  var patrn = /^[a-zA-Z\u4E00-\u9FA5]{2,16}$/;
  if (!patrn.exec(s)) return false;
  return true;
  },
  //检查email邮箱
  IsEmail: function (str) {
  var reg = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
  //var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
  return reg.test(str);
  },
  //中英文数字下划线1-num个字符
  IsAccount: function (str, num) {
  var reg;
  if (num == 30)
  reg = /^[a-zA-Z0-9_\u4e00-\u9fa5]{1,30}$/;
  else if (num == 510)
  reg = /^[a-zA-Z0-9_\u4e00-\u9fa5]{1,510}$/;
  //var reg = /^[a-zA-Z0-9_]{6,16}$/;
  return reg.test(str);
  },
  //检查长度
  CheckLength: function checkLength(obj, maxlength) {
  if (obj.value.length > maxlength) {
  obj.value = obj.value.substring(0, maxlength);
  }
  },
  IsURL: function (strUrl) {
  var regular = /^\b(((https?|ftp):\/\/)?[-a-z0-9]+(\.[-a-z0-9]+)*\.(?:com|edu|gov|int|mil|net|org|biz|info|name|museum|asia|coop|aero|[a-z][a-z]|((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d))\b(\/[-a-z0-9_:\@&?=+,.!\/~%\$]*)?)$/i;
  if (regular.test(strUrl)) {
  return true;
  } else {
  return false;
  }
  },
  //判断是否有列表中的危险字符
  IsValidReg: function (chars) {
  var re = /<|>|\[|\]|\{|\}|『|』|※|○|●|◎|§|△|▲|☆|★|◇|◆|□|▼|㊣|﹋|⊕|⊙|〒|ㄅ|ㄆ|ㄇ|ㄈ|ㄉ|ㄊ|ㄋ|ㄌ|ㄍ|ㄎ|ㄏ|ㄐ|ㄑ|ㄒ|ㄓ|ㄔ|ㄕ|ㄖ|ㄗ|ㄘ|ㄙ|ㄚ|ㄛ|ㄜ|ㄝ|ㄞ|ㄟ|ㄢ|ㄣ|ㄤ|ㄥ|ㄦ|ㄧ|ㄨ|ㄩ|■|▄|▆|\*|@|#|\^|\\/;
  if (re.test(chars) == true) {
  return false;
  } else {
  return true;
  }
  }
  };
  View Code
  以上方法均是和项目业务逻辑没有关系的,一般单独放在一个js文件里面,以后方便其他项目使用,一般命名为core.js。
  这些代码都是项目经常用到的,一些是借鉴了网上的。


最新回复 (33)
全部楼主
返回
发新帖
我也是有底线哒~