1.身份证号验证

var Common = {
//身份证号验证
IsIdCardNo: function (IdCard) {
var reg = /^\d{15}(\d{2}[0-9X])?$/i;
if (!reg.test(IdCard)) {
return false;
} if (IdCard.length == 15) {
var n = new Date();
var y = n.getFullYear();
if (parseInt("19" + IdCard.substr(6, 2)) < 1900 || parseInt("19" + IdCard.substr(6, 2)) > y) {
return false;
} var birth = "19" + IdCard.substr(6, 2) + "-" + IdCard.substr(8, 2) + "-" + IdCard.substr(10, 2);
if (!Common.IsDate(birth)) {
return false;
}
}
if (IdCard.length == 18) {
var n = new Date();
var y = n.getFullYear();
if (parseInt(IdCard.substr(6, 4)) < 1900 || parseInt(IdCard.substr(6, 4)) > y) {
return false;
} var birth = IdCard.substr(6, 4) + "-" + IdCard.substr(10, 2) + "-" + IdCard.substr(12, 2);
if (!Common.IsDate(birth)) {
return false;
} iW = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1); iSum = 0;
for (i = 0; i < 17; i++) {
iC = IdCard.charAt(i);
iVal = parseInt(iC);
iSum += iVal * iW[i];
} iJYM = iSum % 11;
if (iJYM == 0) sJYM = "1";
else if (iJYM == 1) sJYM = "0";
else if (iJYM == 2) sJYM = "x";
else if (iJYM == 3) sJYM = "9";
else if (iJYM == 4) sJYM = "8";
else if (iJYM == 5) sJYM = "7";
else if (iJYM == 6) sJYM = "6";
else if (iJYM == 7) sJYM = "5";
else if (iJYM == 8) sJYM = "4";
else if (iJYM == 9) sJYM = "3";
else if (iJYM == 10) sJYM = "2"; var cCheck = IdCard.charAt(17).toLowerCase();
if (cCheck != sJYM) {
return false;
}
}
return true;
}, //日期验证
IsDate: function (strDate) {
var strSeparator = "-"; //日期分隔符
var strDateArray;
var intYear;
var intMonth;
var intDay;
var boolLeapYear;
strDateArray = strDate.split(strSeparator);
if (strDateArray.length != 3) return false;
intYear = parseInt(strDateArray[0], 10);
intMonth = parseInt(strDateArray[1], 10);
intDay = parseInt(strDateArray[2], 10);
if (isNaN(intYear) || isNaN(intMonth) || isNaN(intDay)) return false;
if (intMonth > 12 || intMonth < 1) return false;
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intDay > 31 || intDay < 1)) return false;
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intDay > 30 || intDay < 1)) return false;
if (intMonth == 2) {
if (intDay < 1) return false;
boolLeapYear = false;
if ((intYear % 100) == 0) {
if ((intYear % 400) == 0) boolLeapYear = true;
}
else {
if ((intYear % 4) == 0) boolLeapYear = true;
}
if (boolLeapYear) {
if (intDay > 29) return false;
}
else {
if (intDay > 28) return false;
}
}
return true;
}
};

2.QQ

Common.Valid = {
//验证qq号码
QQNum: function (str) {
var reg = /^\s*\d{4,12}\s*$/g;
return reg.test(str);
},
//空或有效格式验证器
EmptyOrValid: function (validFunc) {
var func = validFunc;
if ($.type(validFunc) == "string")
func = this[$.trim(validFunc)];
return function (str) {
return $.trim(str) === "" || func(str);
}
}
};

3.手机、电话、传真验证

   $(function () {
String.prototype.isMobile = function () {
return (/^(?:13\d|15[012356789]|18[0256789]|147)-?\d{5}(\d{3}|\*{3})$/.test($.trim(this)));
} String.prototype.isTel = function () {
//"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(1-4位)"
return (/^(([0\+]\d{2,3}-)?(0\d{2,3}\-)?([2-9]\d{6,7})+(\-\d{1,4})?$/.test($.trim(this)));
}
String.prototype.isTelMobile = function () {
//"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(1-4位)"
return (/^(([0\+]\d{2,3}-)?(0\d{2,3}\-)?([2-9]\d{6,7})+(\-\d{1,4})?|(?:13\d|15[012356789]|18[0256789]|147)-?\d{5}(\d{3}|\*{3}))?$/.test($.trim(this)));
}
});

使用示例:

if ($.trim($("#Phone").val()) != "" || $.trim($("#Fax").val()) != "") {
if (!$.trim($("#Phone").val()).isTel()) {
Common.ShowInfo("请输入正确的电话号码!");
return;
}
if (!$.trim($("#Fax").val()).isTel()) {
Common.ShowInfo("请输入正确的传真号!");
return;
}
}
if ($.trim($("#MobilePhone").val()) != "") {
if (!$.trim($("#MobilePhone").val()).isMobile()) {
Common.ShowInfo("请输入正确的手机号码!");
return;
}
}
 $(function () { });

4. jquery 常用验证

 $(function () {
  // jQuery.validator增加IP验证
jQuery.validator.addMethod("code", function (value, element) {
return this.optional(element) || (/^[a-zA-Z0-9]+$/.test(value));
}, "请输入英文、数字");
     //jQuery.validator增加手机验证
    jQuery.validator.addMethod("isMobile", function (value, element) {
            var pattern = /^(?:13\d|15[012356789]|18[0256789]|147)-?\d{5}(\d{3}|\*{3})$/;
            return this.optional(element) || (pattern.test(value));
        }, "请输入英文、数字");
var v = $('#frmInput').validate({
rules: {
         Name:{ required: false, code: true },//
         Email: { required: false, email: true },
         mobile:{ required: false, isMobile: true }
},
messages: {
         Name: { required: "请输入用户名!", email: "请输入正确的用户名!" },
         Email: { required: "请输入邮箱!", email: "请输入正确的邮箱地址!" },
         mobile:{ required: false, isMobile: "输入正确的手机号!"}
}
});
});

使用示例:

<script type="text/javascript"> 
$(function () {
  //以上的验证代码
});
var Input = {};
Input.Save = function (e) {
var frm = $(e).parents("form").first();
if (!$(frm).valid())
return; $.post($(frm).attr("action"), $(frm).serialize(), function (data) {
if (data.IsOK) {
alert(data.Description);
}
else
alert(data.Description);
});
}
</script>
<form name="frmInput" id="frmInput" method=post action="@Url.Action(@ViewContext.RouteData.Values["Action"].ToString())" >
</form>

5.多行文本框的长度进行验证

<script type="text/javascript">
//对textarea 长度进行验证
jQuery.fn.checkLength = function (parameters) {
defaults = { min: 1, max: 120 };//设置默认值
jQuery.extend(defaults, parameters);
// 当前textarea 的值
var taValue = $(this).val();
var len = taValue.length;
if (len >= defaults.max) {
return false;
} else if (len <= defaults.min) {
return false;
} else {
return true;
}
}
var Input = {};
Input.Save = function (e) {
    if (!$("#Content").checkLength({ min: 1, max: 9999 })) {
            alert("内容不能为空!");
            return;
        }
};
</script >

5. 密码验证(不能包含空格)

String.prototype.hasSpace = function () {
        return (/(^\s+)|(\s+$)|(^\S*\s*\S$)/.test($.trim(this)));
    };   if($("#Password").val().hasSpace()){//判断
    //
}

js 格式验证总结的更多相关文章

  1. js 格式验证大全

    1.身份证号码验证: var Common = { //身份证号验证 IsIdCardNo: function (IdCard) { var reg = /^\d{15}(\d{2}[0-9X])?$ ...

  2. js日期格式验证

    js日期格式验证 <input type="text" maxLength='10' onkeyup='checkDate(this.value,jQuery(this)); ...

  3. 解决jquery.validate.js的验证bug

    版本提示:jq为1.4.4, jquery.validate 为jQuery validation plug-in 1.7 问题: a.选填选项,如邮箱设置格式验证,那么情况输入框,验证label变成 ...

  4. JS脚本验证大全

    /** * 2009-10-01 * 贺  臣 * 情  缘 * js各种表单数据验证 *//***************************************************** ...

  5. vue动态加载图片,取消格式验证

    vue 一. 动态加载图片 (以vue模板为例) app.vue 代码如下: <template> <div id="app"> <img :src= ...

  6. 正则表达式控制Input输入内容 ,js正则验证方法大全

    https://blog.csdn.net/xushichang/article/details/4041507 //输入姓名的正则校验 e.currentTarget.value = e.curre ...

  7. jQuery实现18位身份证输入隔位添加空格及格式验证

    说明:jQuery实现身份证输入添加空格,表单验证身份证输入,并且输入时前6位添加一个空格,中间8位后添加一个空格,及身份证格式验证 参考:基于jquery实现的银行卡号每隔4位自动插入空格的实现代码 ...

  8. HTML5时代的纯前端上传图片预览及严格图片格式验证函数(转载)

    原文地址:http://www.2cto.com/kf/201401/274752.html 一.要解决什么样的问题? 在写这个函数之前,有们童鞋在群里问如何纯前端严格验证图片格式.这在html5时代 ...

  9. Js通用验证

    //-----------------------------------------------------js 验证封装 zhy2014-07-10------------------------ ...

随机推荐

  1. json和jsonp的传输方式

    jsonp传输会解决跨域的问题 $.ajax({ async: false, /* url: "http://127.0.0.1:8080/2015020601/background/mea ...

  2. ADC驱动器或差分放大器设计指南

    作为应用工程师,我们经常遇到各种有关差分输入型高速模数转换器(ADC)的驱动问题.事实上,选择正确的ADC驱动器和配置极具挑战性.为了使鲁棒性ADC电路设计多少容易些,我们汇编了一套通用“路障”及解决 ...

  3. 用Hbase存储Log4j日志数据:HbaseAppender

    业务需求: 需求很简单,就是把多个系统的日志数据统一存储到Hbase数据库中,方便统一查看和监控. 解决思路: 写针对Hbase存储的Log4j Appender,有一个简单的日志储存策略,把Log4 ...

  4. php 连接mysql的问题

    当前我的情况是安装上mysql配置了my.cnf中的socket,并且在指定位置也生成了 mysql.sock 的sock文件,此时我通过php.ini来设置php连接mysql.sock的文件,但是 ...

  5. maven实现依赖的“全局排除”

    大多数java应用源码构建和依赖管理是使用maven来实现的,maven也是java构建和依赖管理的事实上的标准.我们的应用系统也都是基于maven构建的,maven虽然在依赖管理方面确实很牛叉,但是 ...

  6. php笔记[1]

    1:echo '$temp tires<br />'; 该代码将'$temp tires<br />'发送给浏览器,在双引号中,变量名将被变量值所替代.而在单引号中,变量名称, ...

  7. 进程&线程

    进程与线程的区别 什么是进程(Process):普通的解释就是,进程是程序的一次执行,而什么是线程(Thread),线程可以理解为进程中的执行的一段程序片段.在一个多任务环境中下面的概念可以帮助我们理 ...

  8. JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解

    javaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...

  9. poj3525Most Distant Point from the Sea(半平面交)

    链接 求凸多边形内一点距离边最远. 做法:二分+半平面交判定. 二分距离,每次让每条边向内推进d,用半平面交判定一下是否有核. 本想自己写一个向内推进..仔细一看发现自己的平面交模板上自带.. #in ...

  10. mysql 特殊字符

    1.倒引号,比如表中有一个字段为desc,在mysql中desc是关键字,如何表明desc是字段呢? 有两种办法:desc使用倒引号引起来,或者在desc前面加上表名,如下:mysql> sel ...