Javascript验证方法大全

本文整理了关于Javascript表单验证的所有涉及到的,大家仔细阅读一定会有所收获的

//验证字符串非空 

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;
      }
    }
  }
}

这次整理的很全面,很详细,希望可以真正的帮助到大家。对大家熟练掌握Javascript更有帮助。

(0)

相关推荐

  • Javascript验证用户输入URL地址是否为空及格式是否正确

    复制代码 代码如下: <script type="text/javascript"> function checkUrl() { var url = document.getElementById('url').value; if (url==''){ alert('URL 地址不能为空'); return false; } else if (!isURL(url)) { alert('URL 的格式应该是 http://www.jb51.net'); return fal

  • Javascript表单验证要注意的事项

    Javascript表单编程: 一.表单元素的查找方式: 1.var oForm=document.getElementById("Form1"); 2.var oForm=document.forms[Form1]//通过name查找: 二.表单字段的共同特点: disabled:该属性用于指示一个表单控件是否可用: form属性:该属性返回包含字段的表单: blur():该方法导致表单字段失去焦点: focus():该方法导致表单字段获得焦点: blur事件:当表单字段失去焦点时,

  • javascript验证上传文件的类型限制必须为某些格式

    复制代码 代码如下: //验证文件的格式 function validateFile(){ var fileObject=$("#filename"); var errorObject=$("#error"); var filepath=fileObject.val(); var fileArr=filepath.split("//"); var fileTArr=fileArr[fileArr.length-1].toLowerCase().s

  • JavaScript验证电子邮箱的函数

    本文介绍一个JavaScript验证电子邮箱的函数,相当靠谱. JavaScript验证电子邮箱的函数,源代码如下: function checkEmail(text) { if( text.match(/qq\.com$/) ) { return -1; } if( ! text.match(/^\w+([._-]\w+)*@(\w+\.)+\w+$/) ) { return false; } return true; } 关于JavaScript验证电子邮箱的函数,本文就介绍这么多,希望对您

  • javascript验证只能输入数字和一个小数点示例

    复制代码 代码如下: function gaga(obj){ // 值允许输入一个小数点和数字 obj.value = obj.value.replace(/[^\d.]/g,""); //先把非数字的都替换掉,除了数字和. obj.value = obj.value.replace(/^\./g,""); //必须保证第一个为数字而不是. obj.value = obj.value.replace(/\.{2,}/g,"."); //保证只有出

  • javascript表单验证使用示例(javascript验证邮箱)

    被 JavaScript 验证的这些典型的表单数据有: 用户是否已填写表单中的必填项目?用户输入的邮件地址是否合法?用户是否已输入合法的日期?用户是否在数据域 (numeric field) 中输入了文本?必填(或必选)项目 下面的函数用来检查用户是否已填写表单中的必填(或必选)项目.假如必填或必选项为空,那么警告框会弹出,并且函数的返回值为 false,否则函数的返回值则为 true(意味着数据没有问题): 复制代码 代码如下: function validate_required(field

  • javascript表单验证 - Parsley.js使用和配置

    在线演示 大家还记得我们曾经介绍过的表单验证jquery插件jquery.validationEngine吧,使用这个插件你不需要写任何一行js代码就可以生成一个功能强大的表单验证功能.是不是超棒? 今天介绍的Parsley同样也可以帮助你只使用简单的配置即可实现表单验证功能,基于它的强大DOM-API. 主要特性 •基于超棒的用户体验 •超级方便配置 •超轻量级(压缩后12K),支持jQuery和Zepto •超简单,只需要简单配置DOM-API,类似jQuery的data API •绝对免费

  • javascript验证身份证完全方法具体实现

    复制代码 代码如下: var certCardValid = function(id){         var arrVerifyCode = [1,0,"x",9,8,7,6,5,4,3,2];         var wi = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];         var Checker = [1,9,8,7,6,5,4,3,2,1,1];         var msg = "";         if

  • 经常用到的javascript验证函数收集第1/3页

    建议大家收藏javascript验证函数,以后遇到就可以直接拿来用了/* ================================================================== 是否为空,只判断字符串 null或0长为空,经过trim IsStringNull(string) ================================================================== */ function IsStringNull(str)

  • Javascript验证上传图片大小[前台处理]

    需求分析: 在做上传图片的时候,如果不限制上传图片大小,后果非常的严重.那么我们怎样才可以解决一个棘手的问题呢?有两种方式: 1)后台处理: 也就是AJAX POST提交到后台,把图片上传到服务器上,然后获得该图片大小做处理. 2)前台处理: 也就是利用Javascript获取该图片大小. 显然第一种方式,很不好.因为需要把文件先上传到服务器上,如果文件很大的话,在加上网不是很快,需要等待好长时间,治标不治本. 功能解析: 在这里我只介绍IE与FireFox两个浏览器的不同做法. IE6: 关键

  • JavaScript验证18位身份证号码最后一位正确性的实现代码

    根据身份证号码推算出最后一位的正确性,如果不正确还会给出正确结果,非常有意思的一断程序. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &l

  • JavaScript验证图片类型(扩展名)的函数分享

    前台调用如下 复制代码 代码如下: OnClientClick="return fucCheckJpgAndGif(form1.File1.value);" --其中File1为上传文件控件 函数代码: 复制代码 代码如下: function fucCheckJpgAndGif(strFileName) {    if (strFileName != "") {        var strtype = strFileName.substring(strFileNa

  • ASP动态生成的javascript表单验证代码

    以网上down了一个ASP动态生成Form验证javascript的代码,自己扩容了一下.作者的大名我给忘了,不过我记得清楚,从第一条至第九条的代码都是该作者的原创.至于九至第十五条却是本人自己加的哦.而且由于本人水平有限,从第九条至第十五条不见得会条条生效啊?呵呵,其实把它贴在这里没有什么必要的,因为这点小会伎俩谁都会用的,我把它的作用定位为:开发时找不到该函数时到这里拷贝一下就可以了.呵,因为我即没有刻录机也没有移动硬盘.实在是没有办法把这些代码随身携带,不过还好,在北京到处都可以上网.所以

  • 一句话JavaScript表单验证代码

    表单的客户端javascript验证有各种各样的写法,登录为form的onsubmit事件或submit按扭写一个函数.对于小表单(只有一两个表单域的表单)就不必再专门再用javascript写一个验证函数了,只需要在form的onsubmit事件里加上: 复制代码 代码如下: onsubmit="return domainname.value=="?(alert('请输入搜索内容'),false):true;" 这样只有一句话,实现了验证成功时提交,失败时给出提示的功能.其

  • javascript表单验证和Window详解

    一.表单验证form 1.创建一个新的表单: 复制代码 代码如下: <form id="id是唯一的,不可重复" name="可重复",method="post/get",action="目标或地址,负责处理的服务端,将文本等传输到什么地方"> //方法1:post提交后无长度限制,且编码后内容不可见. //方法2:get提交有长度限制,并且编码后的内容在地址栏可见 (input 元素) </form>

  • javascript表单验证大全

    被 JavaScript 验证的这些典型的表单数据有以下几种: 1.用户是否已填写表单中的必填项目? 2.用户输入的邮件地址是否合法? 3.用户是否已输入合法的日期? 4.用户是否在数据域 (numeric field) 中输入了文本? 下面是用户名和密码验证代码: <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> &

随机推荐