js各种的校验规则总结

js各种的校验规则总结

//总结校验规则
/*是否带有小数*/
function    isDecimal(strValue )  {  
   var  objRegExp= /^\d+\.\d+$/;
   return  objRegExp.test(strValue);  
}  

/*校验是否中文名称组成 */
function ischina(str) {
	var reg=/^[\u4E00-\u9FA5]{2,4}$/;   /*定义验证表达式*/
	return reg.test(str);     /*进行验证*/
}

/*校验是否全由8位数字组成 */
function isStudentNo(str) {
	var reg=/^[0-9]{8}$/;   /*定义验证表达式*/
	return reg.test(str);     /*进行验证*/
}

/*校验电话码格式 */
function isTelCode(str) {
	var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
	return reg.test(str);
}

/*校验邮件地址是否合法 */
function IsEmail(str) {
	var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
	return reg.test(str);
}


function  fun1(){
	if(!isStudentNo(document.getElementById("sno").value)){
		alert("学生编号是8位数字");
		document.getElementById("sno").focus();
		return false;
	}

	if(!ischina(document.getElementById("username").value)){
		alert("学生姓名必须填写中文");
		document.getElementById("username").focus();
		return false;  
	}

	if(!IsEmail(document.getElementById("email").value)){
		alert("邮箱地址错误");
		document.getElementById("email").focus();
		return false;  
	}

	if(!isTelCode(document.getElementById("tel").value)){
		alert("电话号码不对");
		document.getElementById("tel").focus();
		return false;  
	}

	/*运行到这里说明验证通过返回true    submit提交按钮起作用提交表单*/
	alert("提交成功")
	return false;   // 这边设置禁止提交,实际项目需要改为 true
}
//js文件
(function (factory) {
  if (typeof define === "function" && define.amd) {
    define(["jquery", "../jquery.validate"], factory);
  } else {
    factory(jQuery);
  }
}(function ($) {
  $.extend($.validator.messages, {
    required: "请填写",
    remote: "请修正此栏位",
    email: "请输入有效的电子邮件",
    url: "请输入有效的网址",
    date: "请输入有效的日期",
    dateISO: "请输入有效的日期 (YYYY-MM-DD)",
    dateformat: "请输入有效的日期 (YYYY-MM-DD HH:mm)",
    number: "请输入正确的数字",
    digits: "只可输入数字",
    creditcard: "请输入有效的信用卡号码",
    equalTo: "你的输入不相同",
    extension: "请输入有效的后缀",
    maxlength: $.validator.format("最多 {0} 个字"),
    minlength: $.validator.format("最少 {0} 个字"),
    rangelength: $.validator.format("请输入长度为 {0} 至 {1} 之间的字串"),
    range: $.validator.format("请输入 {0} 至 {1} 之间的数值"),
    max: $.validator.format("请输入不大于 {0} 的数值"),
    min: $.validator.format("请输入不小于 {0} 的数值"),
    // custom
    zznum: "请输入正整数",
    zipcode: "邮政编码格式不正确",
    mobilephone: "手机号码格式不正确",
    telephone: "格式不正确,请使用类似格式:029-88888888-1234",
    idcard: "身份证号码格式不正确",
    noSpace: "不允许输入空格",
    passWord:"密码只能包含大小写字母、数字和下划线且不能以下划线开头",
    newPassWord:"密码由数字、字母和特殊符号(如!#$%&()*+,-./:;<=>?@[]^_`{|}~)中的两种或两种以上组成,请重新设置!",
    newPassWord2:"密码长度需8-20位,由数字、字母和特殊符号(如!#$%&()*+,-./:;<=>?@[]^_`{|}~)组成。",
    noChineseFormat:"密码不能输入中文格式字符",
    selectRequired:$.validator.format("请选择{0}"),
    code:"请输入大写字母、数字或下划线,不能以下划线开头和结尾",
    groupCode:"必须以ROLE_开头且只能包含大写字母",
    chineseName:"请输入汉字、字母,字符中间可以加'·'",
    emailServer:"邮件服务器格式不正确",
    ipv4:"ipv4格式不正确",
    phone:"请输入正确的座机号或手机号",
    validateJhao:"禁止输入#和&符号",
    validateAnt:"禁止输入#和&符号",
    legalChar:"请输入合法字符",
    money:"请输入正确的金额",
    minNumber:"输入的数字小数点后最多两位",
    nozero:"请输入大于0的数值",
    validateEngName:"请输入除汉字之外的其他合法字符",
    zznumAndZero: "请输入0或者正整数"
    ,mobileAndTelephone:"电话号码不正确"
  });
  
  /*
   * 校验规则
   */
  // 小数位
  $.validator.addMethod("minNumber",function( value, element) {
	  var returnVal = true;
      inputZ=value;
      var ArrMen= inputZ.split(".");    //截取字符串
      if(ArrMen.length==2){
          if(ArrMen[1].length>2){    //判断小数点后面的字符串长度
              returnVal = false;
              return false;
          }
      }
      return returnVal;
	},$.validator.messages["minNumber"]);
  
  //选择框必选 
  $.validator.addMethod("selectRequired",function( value, element,param) {
		if ( element.nodeName.toLowerCase() === "select" ) {
			var val = $( element ).val();
			return val && val.length > 0;
		}
		if ( this.checkable( element ) ) {
			return this.getLength( value, element ) > 0;
		}
		return $.trim( value ).length > 0;
	},$.validator.messages["selectRequired"]);
  
  // 正整数
  $.validator.addMethod("zznum", function (value, element) {
	  var num = /^[1-9]*[1-9][0-9]*$/;
      return this.optional(element) || (num.test(value));
  }, $.validator.messages["zznum"]);

  // 验证邮政编码
  $.validator.addMethod("zipcode", function (value, element) {
    return this.optional(element) || (/^[0-9]\d{5}$/.test(value));
  }, $.validator.messages["zipcode"]);

  // 验证手机号码
  $.validator.addMethod("mobilephone", function (value, element) {
    return this.optional(element) || (/^(13|14|15|16|17|18|19)\d{9}$/i.test(value));
  }, $.validator.messages["mobilephone"]);

  // 验证电话号码
  $.validator.addMethod("telephone", function (value, element) {
    return this.optional(element) || /^((1[0-9]{10})|(((([0-9]{3}-)?[0-9]{8})|(([0-9]{4}-)?[0-9]{7}))(-[0-9]{1,4})?))$/.test(value);
  }, $.validator.messages["telephone"]);

  //兼容座机号和手机号
  $.validator.addMethod("phone", function (value, element) {
	  return this.optional(element) || (/^(0?1[3456789]\d{9})$|^((0(10|2[1-9]|[3-9]\d{2}))?[1-9]\d{6,7})$/.test(value));
  }, $.validator.messages["phone"]);
  
  // 验证身份证
  $.validator.addMethod("idcard", function (value, element) {
    return this.optional(element) || /(^\d{15}$)|(^\d{17}([0-9]|X)$)/i.test(value);
  }, $.validator.messages["idcard"]);
  
  // 验证多种证件类型 时 身份证 规则 正则,其他证件长度0至20
  $.validator.addMethod("idcardType", function (value, element) {
	 if($("#cardType").val()=='1'){ //身份证
		 return this.optional(element) || /(^\d{15}$)|(^\d{17}([0-9]|X)$)/i.test(value);
	 }else{
		 return this.optional(element) || value.length<=20;
	 }
  }, function(){
	  if($("#cardType").val()=='1'){  //身份证
		return  $.validator.messages["idcard"] ;
	  }else{
		  return  $.validator.format("请输入长度为 0 至 20 之间的字符") ;  		 
	  }
	  }); 

  // 不允许输入空格
  $.validator.addMethod("noSpace", function (value, element) {
    return value.indexOf(" ") < 0 && value != "";
  }, $.validator.messages["noSpace"]);
  
  //密码格式
  $.validator.addMethod("passWord", function (value, element) {
	  var pwd = /^[A-Za-z0-9_-]+$/;
	  return this.optional(element) || (pwd.test(value));
  }, $.validator.messages["passWord"]);
  
  //新密码格式
  $.validator.addMethod("newPassWord", function (value, element) {
	  var pwd = /^(?![\d]+$)(?![a-zA-Z]+$)(?![!#$%^&*@\~()\+\-.,:;\/<=>\?\[\]_`{}|]+$)[\da-zA-Z!#$%^&*@\~()\+\-.,:;\/<=>\?\[\]_`{}|]{6,20}$/;
	  return this.optional(element) || (pwd.test(value));
  }, $.validator.messages["newPassWord"]);
  
  //新密码格式
  $.validator.addMethod("newPassWord2", function (value, element) {
	  var pwd = /^(?=.*?[a-zA-Z]+.*?)(?=.*?[1-9]+.*?)(?=.*?[!#$%^&*@\~()\+\-.,:;\/<=>\?\[\]_`{}|]+.*?).{8,20}$/;
	  return this.optional(element) || (pwd.test(value));
  }, $.validator.messages["newPassWord2"]);
  
  //不允许输入中文格式的特殊符号
  $.validator.addMethod("noChineseFormat", function (value, element) {
	  var pwd =  /^[^!¥……()。,、;:’‘”“《》?【】]+$/;
	  return this.optional(element) || (pwd.test(value));
  }, $.validator.messages["noChineseFormat"]);
  
  //编码格式
  $.validator.addMethod("code", function (value, element) {
	  var code = /^(?!_)(?!.*?_$)[A-Z0-9_]+$/;
	  return this.optional(element) || (code.test(value));
  }, $.validator.messages["code"]);
  
  //用户组CODE验证
  $.validator.addMethod("groupCode", function (value, element) {
	  var code = /^ROLE_[A-Z]{1,20}$/;
	  return this.optional(element) || (code.test(value));
  }, $.validator.messages["groupCode"]);
  
  //中文姓名(如:张三、赵C、嘉木样·洛桑久美·图丹却吉尼玛、阿沛·阿旺晋美、卡尔·马克思)
  $.validator.addMethod("chineseName", function (value, element) {
	  var code = /[a-zA-Z\u4E00-\u9FA5]{1,10}(?:·[a-zA-Z\u4E00-\u9FA5]{1,10})*/;
	  return this.optional(element) || (code.test(value));
  }, $.validator.messages["chineseName"]);
  
  //邮箱服务器格式(如:smtp.qq.com)
  $.validator.addMethod("emailServer", function (value, element) {
	  var code = /^(smtp)\.([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$/;
	  return this.optional(element) || (code.test(value));
  }, $.validator.messages["emailServer"]);
  
  //IPv4格式
  $.validator.addMethod("ipv4", function (value, element) {
	  var code = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
	  return this.optional(element) || (code.test(value));
  }, $.validator.messages["ipv4"]);
  
  //单独过滤特殊字符#
  $.validator.addMethod("validateJhao", function (value, element) {
	  var code = /^[^#\x22]+$/;
	  return this.optional(element) || (code.test(value));
  }, $.validator.messages["validateJhao"]);
  
  //单独过滤特殊字符&
  $.validator.addMethod("validateAnt", function (value, element) {
	  var code = /^[^&\x22]+$/;
	  return this.optional(element) || (code.test(value));
  }, $.validator.messages["validateAnt"]);
  
  //合法字符
  $.validator.addMethod("legalChar", function (value, element) {
	  var code = /^[\u4e00-\u9fa5\w\d\:\-_\.\,\(\\)\(\\)\s\。\、ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ]*$/;
	  return this.optional(element) || (code.test(value));
  }, $.validator.messages["legalChar"]);
  
  // zero
  $.validator.addMethod("nozero",function( value, element) {
	  var returnVal = true;
      if(value != '' && value==0){
          returnVal = false;
      }
      return returnVal;
	},$.validator.messages["nozero"]);
  //拼音姓名(数字、空格和字母)
  $.validator.addMethod("validateEngName", function (value, element) {
	  var code = /^[^\u4e00-\u9fa5]{0,}$/;
	  return this.optional(element) || (code.test(value));
  }, $.validator.messages["validateEngName"]);
  
  //保留两位小数点的金额
  $.validator.addMethod("money", function (value, element) {
	  var code = /^([1-9][\d]{0,7}|0)(\.[\d]{1,2})?$/;
	  return this.optional(element) || (code.test(value));
  }, $.validator.messages["money"]);
  
  //正整数和零
  $.validator.addMethod("zznumAndZero", function (value, element) {
	  var num = /^([1-9]\d*|[0]{1,1})$/;
      return this.optional(element) || (num.test(value));
  }, $.validator.messages["zznumAndZero"]);
}));

记录学习前端,慢慢提升自己的能力。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值