博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
验证(Javascript和正则表达式)
阅读量:5274 次
发布时间:2019-06-14

本文共 7338 字,大约阅读时间需要 24 分钟。

昨天写了,今天又写了个js版的验证。现在贴出来,为了方便自己查阅,同时也希望能给需要的人帮助和一些启发。由于今天才开始接触js,所以可能会有一些错漏,希望大家能批评指正。

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\d{2}\)|0\d{2})[- ]?)?\d{8}|((\(0\d{3}\)|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\d{2}\)|0\d{2})[- ]?)?\d{8}|((\(0\d{3}\)|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]((?

 

转载于:https://www.cnblogs.com/wolfocme110/p/4540131.html

你可能感兴趣的文章
AX 2009 Grid控件下多选行
查看>>
PHP的配置
查看>>
Struts框架----进度1
查看>>
Round B APAC Test 2017
查看>>
MySQL 字符编码问题详细解释
查看>>
Ubuntu下面安装eclipse for c++
查看>>
Windows 2003全面优化
查看>>
格而知之2:UIView的autoresizingMask属性探究
查看>>
我的Hook学习笔记
查看>>
js中的try/catch
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
整理推荐的CSS属性书写顺序
查看>>
css & input type & search icon
查看>>
C# 强制关闭当前程序进程(完全Kill掉不留痕迹)
查看>>
ssm框架之将数据库的数据导入导出为excel文件
查看>>
语音识别中的MFCC的提取原理和MATLAB实现
查看>>
0320-学习进度条
查看>>
MetaWeblog API Test
查看>>
移动、尺寸改变
查看>>
c# 文件笔记
查看>>