//验证字符串非空 
  
  
var Validator = { 
  VerityLib: { 
       IsNotEmpty: function (input) { 
      if (input != '') { 
        return true
      } else
        return false
      
    }, 
  
  
 //验证数字(double类型) [可以包含负号和小数点] 
    IsNumber: function (input) { 
      var regex = /^-?\d+$|^(-?\d+)(\.\d+)?$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
  
  
 //验证整数 
    IsInteger: function (input) { 
      var regex = /^-?\d+$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
  
  
//验证非负整数 
    IsIntegerNotNagtive: function (input) { 
      var regex = /^\d+$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
  
  
 //验证正整数 
    IsIntegerPositive: function (input) { 
      var regex = /^[0-9]*[1-9][0-9]*$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
  
  
 //验证小数 
    IsDecimal: function (input) { 
      var regex = /^([-+]?[1-9]\d*\.\d+|-?0\.\d*[1-9]\d*)$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    },    
  
//验证只包含英文字母 
    IsEnglishCharacter: function (input) { 
      var regex = /^[A-Za-z]+$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
  
  
 //验证只包含数字和英文字母 
    IsIntegerAndEnglishCharacter: function (input) { 
      var regex = /^[0-9A-Za-z]+$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
  
  
 //验证只包含汉字 
    IsChineseCharacter: function (input) { 
      var regex = /^[\u4e00-\u9fa5]+$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
  
  
 //验证数字长度范围(数字前端的0计长度)[若要验证固定长度,可传入相同的两个长度数值] 
    IsIntegerLength: function (input, lengthBegin, lengthEnd) { 
      var pattern = '^\\d{' + lengthBegin + ',' + lengthEnd + '}$'
      var regex = new RegExp(pattern); 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
  
  
//验证字符串包含内容 
    IsStringInclude: function (input, withEnglishCharacter, withNumber, withChineseCharacter) { 
      if (!Boolean(withEnglishCharacter) && !Boolean(withNumber) && !Boolean(withChineseCharacter)) { 
        return false; //如果英文字母、数字和汉字都没有,则返回false 
      
      var pattern = '^['
      if (Boolean(withEnglishCharacter)) { 
        pattern += 'a-zA-Z'
      
      if (Boolean(withNumber)) { 
        pattern += '0-9'
      
      if (Boolean(withChineseCharacter)) { 
        pattern += '\\u4E00-\\u9FA5'
      
      pattern += ']+$'
      var regex = new RegExp(pattern); 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
  
  
 //验证字符串长度范围 [若要验证固定长度,可传入相同的两个长度数值] 
    IsStringLength: function (input, LengthBegin, LengthEnd) { 
      var pattern = '^.{' + lengthBegin + ',' + lengthEnd + '}$'
      var regex = new RegExp(pattern); 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
  
  
 //验证字符串长度范围(字符串内只包含数字和/或英文字母)[若要验证固定长度,可传入相同的两个长度数值] 
    IsStringLengthOnlyNumberAndEnglishCharacter: function (input, LengthBegin, LengthEnd) { 
      var pattern = '^[0-9a-zA-z]{' + lengthBegin + ',' + lengthEnd + '}$'
      var regex = new RegExp(pattern); 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
  
  
 //验证字符串长度范围 [若要验证固定长度,可传入相同的两个长度数值] 
    IsStringLengthByInclude: function (input, withEnglishCharacter, withNumber, withChineseCharacter, lengthBegin, lengthEnd) { 
      if (!withEnglishCharacter && !withNumber && !withChineseCharacter) { 
        return false; //如果英文字母、数字和汉字都没有,则返回false 
      
      var pattern = '^['
      if (Boolean(withEnglishCharacter)) 
        pattern += 'a-zA-Z'
      if (Boolean(withNumber)) 
        pattern += '0-9'
      if (Boolean(withChineseCharacter)) 
        pattern += '\\u4E00-\\u9FA5'
      pattern += ']{' + lengthBegin + ',' + lengthEnd + '}$'
      var regex = new RegExp(pattern); 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
  
  
//验证字符串字节数长度范围 [若要验证固定长度,可传入相同的两个长度数值;每个汉字为两个字节长度] 
    IsStringByteLength: function (input, lengthBegin, lengthEnd) { 
      var regex = /[^\x00-\xff]/g; 
      var byteLength = input.replace(regex, 'ok').length; 
      if (byteLength >= lengthBegin && byteLength <= lengthEnd) { 
        return true
      } else
        return false
      
    }, 
  
  
 //验证日期 [只能验证日期,不能验证时间] 
    IsDateTime: function (input) { 
      if (Date.parse(input)) { 
        return true
      } else
        return false
      
    }, 
      
  
//验证固定电话号码 [3位或4位区号;区号可以用小括号括起来;区号可以省略;区号与本地号间可以用减号或空格隔开;可以有3位数的分机号,分机号前要加减号] 
    IsTelePhoneNumber: function (input) { 
      var regex = /^(((0\d2|0\d{2})[- ]?)?\d{8}|((0\d3|0\d{3})[- ]?)?\d{7})(-\d{3})?$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
      
  
 //验证手机号码 [可匹配"(+86)013325656352",括号可以省略,+号可以省略,(+86)可以省略,11位手机号前的0可以省略;11位手机号第二位数可以是3、4、5、8中的任意一个] 
    IsMobilePhoneNumber: function (input) { 
      var regex = /^((\+)?86|((\+)?86)?)0?1[3458]\d{9}$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
      
  
 //验证电话号码(可以是固定电话号码或手机号码) 
    IsPhoneNumber: function (input) { 
      var regex = /^((\+)?86|((\+)?86)?)0?1[3458]\d{9}$|^(((0\d2|0\d{2})[- ]?)?\d{8}|((0\d3|0\d{3})[- ]?)?\d{7})(-\d{3})?$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
      
  
 //验证邮政编码 
    IsZipCode: function (input) { 
      var regex = /^\d{6}$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
      
  
 //验证电子邮箱 [@字符前可以包含字母、数字、下划线和点号;@字符后可以包含字母、数字、下划线和点号;@字符后至少包含一个点号且点号不能是最后一个字符;最后一个点号后只能是字母或数字] 
    IsEmail: function (input) { 
      邮箱名以数字或字母开头;邮箱名可由字母、数字、点号、减号、下划线组成;邮箱名(@前的字符)长度为3~18个字符;邮箱名不能以点号、减号或下划线结尾;不能出现连续两个或两个以上的点号、减号。 
      //var regex = /^[a-zA-Z0-9]((?<!(\.\.|--))[a-zA-Z0-9\._-]){1,16}[a-zA-Z0-9]@([0-9a-zA-Z][0-9a-zA-Z-]{0,62}\.)+([0-9a-zA-Z][0-9a-zA-Z-]{0,62})\.?|((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$/; 
      var regex = /^([\w-\.]+)@([\w-\.]+)(\.[a-zA-Z0-9]+)$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
      
  
 //验证网址(可以匹配IPv4地址但没对IPv4地址进行格式验证;IPv6暂时没做匹配)[允许省略"://";可以添加端口号;允许层级;允许传参;域名中至少一个点号且此点号前要有内容] 
    IsURL: function (input) { 
      每级域名由字母、数字和减号构成(第一个字母不能是减号),不区分大小写,单个域长度不超过63,完整的域名全长不超过256个字符。在DNS系统中,全名是以一个点“.”来结束的,例如“www.nit.edu.cn.”。没有最后的那个点则表示一个相对地址。  
      没有例如"http://"的前缀,没有传参的匹配 
      //var regex = /^([0-9a-zA-Z][0-9a-zA-Z-]{0,62}\.)+([0-9a-zA-Z][0-9a-zA-Z-]{0,62})\.?$/; 
   
      //var regex = /^(((file|gopher|news|nntp|telnet|http|ftp|https|ftps|sftp)://)|(www\.))+(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(/[a-zA-Z0-9\&%_\./-~-]*)?$/; 
      var regex = /^([a-zA-Z]+:\/\/)?([\w-\.]+)(\.[a-zA-Z0-9]+)(:\d{0,5})?\/?([\w-\/]*)\.?([a-zA-Z]*)\??(([\w-]*=[\w%]*&?)*)$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
      
  
 //验证IPv4地址 [第一位和最后一位数字不能是0或255;允许用0补位] 
    IsIPv4: function (input) { 
      var regex = /^(25[0-4]|2[0-4]\d]|[01]?\d{2}|[1-9])\.(25[0-5]|2[0-4]\d]|[01]?\d?\d)\.(25[0-5]|2[0-4]\d]|[01]?\d?\d)\.(25[0-4]|2[0-4]\d]|[01]?\d{2}|[1-9])$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
      
  
 //验证IPv6地址 [可用于匹配任何一个合法的IPv6地址] 
    IsIPv6: function (input) { 
      var regex = /^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
      
  
 //验证身份证号 [可验证一代或二代身份证] 
    IsIDCard: function (input) { 
      input = input.toUpperCase(); 
      //验证身份证号码格式 [一代身份证号码为15位的数字;二代身份证号码为18位的数字或17位的数字加字母X] 
      if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/i.test(input))) { 
        return false
      
      //验证省份 
      var arrCity = { 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: '国外' }; 
      if (arrCity[parseInt(input.substr(0, 2))] == null) { 
        return false
      
        
  
//验证出生日期 
      var regBirth, birthSplit, birth; 
      var len = input.length; 
      if (len == 15) { 
        regBirth = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/); 
        birthSplit = input.match(regBirth); 
        birth = new Date('19' + birthSplit[2] + '/' + birthSplit[3] + '/' + birthSplit[4]); 
        if (!(birth.getYear() == Number(birthSplit[2]) && (birth.getMonth() + 1) == Number(birthSplit[3]) && birth.getDate() == Number(birthSplit[4]))) { 
          return false
        
        return true
      
      else if (len == 18) { 
        regBirth = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/i); 
        birthSplit = input.match(regBirth); 
        birth = new Date(birthSplit[2] + '/' + birthSplit[3] + '/' + birthSplit[4]); 
        if (!(birth.getFullYear() == Number(birthSplit[2]) && (birth.getMonth() + 1) == Number(birthSplit[3]) && birth.getDate() == Number(birthSplit[4]))) { 
          return false
        
        //验证校验码 
        var valnum; 
        var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); 
        var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); 
        var nTemp = 0, i; 
        for (i = 0; i < 17; i++) { 
          nTemp += input.substr(i, 1) * arrInt[i]; 
        
        valnum = arrCh[nTemp % 11]; 
        if (valnum != input.substr(17, 1)) { 
          return false
        
        return true
      
      return false
    }, 
      
  
 //验证经度 
    IsLongitude: function (input) { 
      var regex = /^[-\+]?((1[0-7]\d{1}|0?\d{1,2})\.\d{1,5}|180\.0{1,5})$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    }, 
      
  
//验证纬度 
    IsLatitude: function (input) { 
      var regex = /^[-\+]?([0-8]?\d{1}\.\d{1,5}|90\.0{1,5})$/; 
      if (input.match(regex)) { 
        return true
      } else
        return false
      
    
  
}

转载于:https://www.cnblogs.com/nucdy/p/5634995.html

关于Javascript表单验证相关推荐

  1. javascript 表单验证大全(一)

    javascript 表单验证大全(一) 5.身份证验证:包括15位和18位.function idNumber(s)//身份证验证 {regu1=/^[1-9]\d{7}((0\d)|(1[0-2] ...

  2. 10个强大的Javascript表单验证插件推荐

    创建一个JavaScript表单验证插件,可以说是一个繁琐的过程,涉及到初期设计.开发与测试等等环节.实际上一个优秀的程序员不仅是技术高手,也应该是善假于外物的.本文介绍了10个不错的JavaScri ...

  3. html表单验证js代码,JavaScript表单验证实现代码

    JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证 JavaScript 表单验证 JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输 ...

  4. 15个最佳的 JavaScript 表单验证库

    客户端验证在任何项目都是不够的,因为 JavaScript 可以直接忽略,人们可以提交请求到服务器. 然而这并不意味着客户端验证都没必要了,很多时候我们需要在用户提交到服务器之前给予提示.JavaSc ...

  5. 15个非常实用的JavaScript表单验证库

    来源:web前端开发 https://mp.weixin.qq.com/s/p9s9cmAt2MZeCgmD2LC5Sg 客户端验证在任何项目都是不可缺少的,很多时候我们需要在用户提交到服务器之前给予 ...

  6. html自动验证邮件地址格式,JavaScript表单验证和邮箱格式验证的方法

    JavaScript 表单验证 JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. 被 JavaScript 验证的这些典型的表单数据有: 用户是否已填写表单 ...

  7. HTML通过JavaScript表单验证

    HTML通过JavaScript表单验证 用户在填写表单的时候,我们程序对其进行验证是必须的,随便举个例子: <!DOCTYPE html> <html lang="en& ...

  8. 注册表单校验 js java,JavaScript表单验证完美代码

    用原生JS写一个简单的表单验证 首先,是html部分 新用户注册 基本信息 用户名: 请输入至少3位的用户名 密码: 请输入4到8位的密码 确认密码: 请再输入一遍密码 手机号码: 请输入11位手机号 ...

  9. JavaScript 表单验证

    JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. 被 JavaScript 验证的这些典型的表单数据有: 用户是否已填写表单中的必填项目? 用户输入的邮件地 ...

  10. JavaScript表单验证及注册界面

    JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. 表单数据经常需要使用 JavaScript 来验证其正确性 下面是今天这个界面的 HTML CSS Jav ...

最新文章

  1. 返回倒数第k个结点(返回值)
  2. Selenium java环境搭建
  3. MySQL查询输入三个数的和_mysql(三)(单表查询、select、where、聚合函数、count、sum、avg、MAX/MIN、分组查询、group by、having、limit)...
  4. 使用 Visual Studio Team Services 和 IIS 创建持续集成管道
  5. dr.com linux源码安装,Linux在不采用坑爹的Dr.com客户端下的连网方式(亲测可行 ,简单易行)...
  6. php yii2 sns,GitHub - yggphpcoder/iisns: 基于 yii2 的 sns 社区系统,一站式解决社区建站...
  7. access中判断回文的代码_前端也来点算法(TypeScript版) | 2 - 回文数和回文链表
  8. 网工七大计策掌握网络管理中的实战技术(转)
  9. 《学习OpenCV3》第10章 滤波与卷积
  10. [nowcoder]最长区间
  11. error LNK2001: 无法解析的外部符号 public: void __thiscall Cmfc_DeleteFileDlg::OnBnClickedButton3(void)
  12. python菜鸟教程 | if else 判断
  13. 一行代码实现curry化
  14. 产品运营 第一章(黄有璨)
  15. Pyton学习—循环语句
  16. 初学者入门阿里云haas510开板式DTU(2.0版本)--510-AS
  17. agv调度matlab程序,4款agv调度控制系统应用软件
  18. http中302与304
  19. html字体自动变大变小,浏览器上的字体突然变大了或者变小怎么恢复?
  20. 网页万能命令[wn.run/]

热门文章

  1. linux终端下载vscode,Ubuntu:安装vscode
  2. 【HDU1284 中南林业大学第十一届校赛 B:】兑换零钱(dp)
  3. java ssh jar_java应用程序远程登录linux并执行其命令(ssh jar包)
  4. axios token失效刷新token怎么重新请求_Token 刷新并发处理解决方案
  5. Java动态so库修改,Adnroid so文件动态调试技巧
  6. 167.两数之和II-输入有序数组
  7. python元组遍历
  8. 代价函数的作用(2)--机器学习
  9. 关于全局异常捕获的思考-真正的全局异常捕获
  10. 如何向maven仓库中上传第三方jar包(私服)