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

 /**
* 验证整数
* @param str 需验证字符
*/
function isInt(str) {
if (!/^(-|\+)?\d+$/.test(str)) {
return false;
}
return true;
} /**
* 大于0正整数
* @param str 需验证字符
*/
function isIntZ(str) {
if (!/^\d+$/.test(str)) {
return false;
}
return true;
} /**
* 负整数的验证
* @param str 需验证字符
*/
function isIntF(str) {
if (!/^-\d+$/.test(str)) {
return false;
}
return true;
} /**
* 验证浮点数
* @param str 需验证字符
*/
function isDouble(str) {
var reg = /^([+-]?)\d*\.\d+$/;
return reg.test(str);
}; /**
* 验证正浮点数
* @param str 需验证字符
*/
function isDoubleZ(str) {
var reg = /^([+]?)\d*\.\d+$/;
return reg.test(str);
};
/**
* 验证负浮点数
* @param str 需验证字符
*/
function isDoubleF(str) {
var reg = /^-\d*\.\d+$/;
return reg.test(str);
}; /**
* 字符串非空验证
* @param str 需验证字符
*/
function strIsNull(str) {
if (str == null || strTrim(str) == "") {
return false;
}
return true;
} /**
* 验证是否为中文
* @param str 需验证字符
*/
function isChinese(str) {
var reg = /[\u4E00-\u9FA5\uF900-\uFA2D]+$/;
return reg.test(str);
}; /**
* 验证短时间 如(13:04:06)
* @param str 需验证字符
*/
function isShortTime(str) {
var result = str.match(/^(\d{,})(:)(\d{,})\(\d{,})$/);
//输入的参数时间格式不正确
if ((result == null) || (result[] > || result[] > || result[] > )) {
return false;
}
return true;
} /**
* 验证短日期 如(2003-12-05)
* @param str 需验证字符
*/
function strShortDate(str) {
var r = str.match(/^(\d{,})(-|\/)(\d{,})\(\d{,})$/);
if ((r == null) || (r[] > || r[] > )) {
//时间格式不正确
return false;
}
//验证是不是当前时间
//var d=new Date(r[1],r[3]-1,r[4]);
//return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
return true;
} /**
* 验证时间不包含毫秒 如(2003-12-05 13:04:06)
* @param str 需验证字符
*/
function strDateTime(str) {
var r = str.match(/^(\d{,})(-|\/)(\d{,})\(\d{,}) (\d{,})(:)(\d{,})\(\d{,})$/);
if ((r == null) || (r[] > || r[] > || r[] > || r[] > || r[] > )) {
return false;
}
//验证是不是当前时间
//var d = new Date(r[1], r[3] - 1, r[4], r[5], r[7], r[8]);
//return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4] && d.getHours() == r[5] && d.getMinutes() == r[7] && d.getSeconds() == r[8]);
return true;
} /**
* 转换字节
* @param str 字符串
* @param len 最大长度
*/
function strMaxLen(str, len) {
if (str != null && strTrim(str) != "") {
if (strTrim(str).replace(/[^\x00-\xff]/g, "xx").length <= len) {
return true;
}
return false;
}
return false;
} /**
* 转换字节
* @param str 字符串
* @param len 最小长度
*/
function strMinLen(str, len) {
if (str != null && strTrim(str) != "") {
if (strTrim(str).replace(/[^\x00-\xff]/g, "xx").length >= len) {
return true;
}
return false;
}
return false;
} /**
* 返回当前输入字数
* @param str 字符串
* @param len 最大长度
*/
function strNumberLen(str, len) {
if (str != null && strTrim(str) != "") {
return strTrim(str).replace(/[^\x00-\xff]/g, "xx").length/;
}
return ;
} /**
* 截取固定长度子字符串从0开始
* @param sSource 字符串
* @param iLen 截取长度
*/
function getInterceptedStr(sSource, iLen) {
if (sSource.replace(/[^\x00-\xff]/g, "xx").length <= iLen) {
return sSource;
}
var str = "";
var l = ;
var schar;
for (var i = ; schar = sSource.charAt(i) ; i++) {
str += schar;
l += (schar.match(/[^\x00-\xff]/) != null ? : );
if (l >= iLen) {
break;
}
}
return str;
} /**
* 复选框全选/全不选
* @param obj 当前checkbox对象
*/
function chkSelected(obj) {
var elarr = document.getElementsByTagName("input");
for (var i = ; i < elarr.length; i++) {
if (elarr[i].type == "checkbox") {
elarr[i].checked = obj.checked;
}
}
} /**
* 邮箱格式验证
* @param str Email字符串
* @return
*/
function isEmail(str) {
return (new RegExp(/^([a-zA-Z0-]+[_|\-|\.]?)*[A-Za-z0-]+@([A-Za-z0-]+[_|\-|\.]?)*[A-Za-z0-]+\.[a-zA-Z]{,}$/).test(str))
} var Wi = [, , , , , , , , , , , , , , , , , ]; // 加权因子
var ValideCode = [, , , , , , , , , , ]; // 身份证验证位值.10代表X /**
* 验证身份证号码
* @param idCard 身份证号码
* @return
*/
function IdCardValidate(idCard) {
idCard = strTrim(idCard.replace(/ /g, "")); //去掉字符串头尾空格
if (idCard.length == ) {
return isValidityBrithBy15IdCard(idCard); //进行15位身份证的验证
} else if (idCard.length == ) {
var a_idCard = idCard.split("");
// 得到身份证数组
if (isValidityBrithBy18IdCard(idCard) && isTrueValidateCodeBy18IdCard(a_idCard)) { //进行18位身份证的基本验证和第18位的验证
return true;
} else {
return false;
}
} else {
return false;
}
} /**
* 判断身份证号码为18位时最后的验证位是否正确
* @param a_idCard 身份证号码数组
* @return
*/
function isTrueValidateCodeBy18IdCard(a_idCard) {
var sum = ; // 声明加权求和变量
if (a_idCard[].toLowerCase() == 'x') {
a_idCard[] = ; // 将最后位为x的验证码替换为10方便后续操作
}
for (var i = ; i < ; i++) {
sum += Wi[i] * a_idCard[i]; // 加权求和
}
valCodePosition = sum % ; // 得到验证码所位置
if (a_idCard[] == ValideCode[valCodePosition]) {
return true;
} else {
return false;
}
} /**
* 验证18位数身份证号码中的生日是否是有效生日
* @param idCard 18位书身份证字符串
* @return
*/
function isValidityBrithBy18IdCard(idCard18) {
var year = idCard18.substring(, );
var month = idCard18.substring(, );
var day = idCard18.substring(, );
var temp_date = new Date(year, parseFloat(month) - , parseFloat(day));
// 这里用getFullYear()获取年份,避免千年虫问题
if (temp_date.getFullYear() != parseFloat(year)
|| temp_date.getMonth() != parseFloat(month) -
|| temp_date.getDate() != parseFloat(day)) {
return false;
} else {
return true;
}
} /**
* 验证15位数身份证号码中的生日是否是有效生日
* @param idCard15 15位书身份证字符串
* @return
*/
function isValidityBrithBy15IdCard(idCard15) {
var year = idCard15.substring(, );
var month = idCard15.substring(, );
var day = idCard15.substring(, );
var temp_date = new Date(year, parseFloat(month) - , parseFloat(day));
// 对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法
if (temp_date.getYear() != parseFloat(year)
|| temp_date.getMonth() != parseFloat(month) -
|| temp_date.getDate() != parseFloat(day)) {
return false;
} else {
return true;
}
} /**
* 去除前后空格
* @param str 字符串
* @return
*/
function strTrim(str) {
return str.replace(/(^\s*)|(\s*$)/g, "");
} /**
* 去除左边空格
* @param str 字符串
* @return
*/
function strTrimL(str) {
return str.replace(/(^[\s]*)/g, "");
} /**
* 去除右边空格
* @param str 字符串
* @return
*/
function strTrimR(str) {
return str.replace(/([\s]*$)/g, "");
} /**
* 替换字符串中所有空格
* @param str 字符串
* @return
*/
function replaceSpace(str) {
return str.replace(/\s/g, "");
} /**
* 验证IP地址
* @param str 需验证字符
* @return
*/
function isIP(ip) {
var reSpaceCheck = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
if (reSpaceCheck.test(ip)) {
ip.match(reSpaceCheck);
if (RegExp.$ <= && RegExp.$ >=
&& RegExp.$ <= && RegExp.$ >=
&& RegExp.$ <= && RegExp.$ >=
&& RegExp.$ <= && RegExp.$ >= ) {
return true;
} else {
return false;
}
} else {
return false;
}
}
/**
* 验证IP地址
* @param str 需验证字符
* @return
*/
function isIP2(ip) {
var re = /^(\d{,}|\d\d|[-]\d|[-])\.(\d{,}|\d\d|[-]\d|[-])\.(\d{,}|\d\d|[-]\d|[-])\.(\d{,}|\d\d|[-]\d|[-])$/
return re.test(ip);
} /**
* 固定电话验证 区号与电话之间必须“-”隔开
* @param str 需验证字符
* @return
*/
function isTelephone(str) {
var reg = /(^(\d{})-(\d{})$)|(^(\d{})-(\d{})$)|(^(\d{})-(\d{})-(\d+)$)|(^(\d{})-(\d{})-(\d+)$)/;
return reg.test(str);
} /**
* 手机号验证
* @param str 需验证字符
* @return
*/
function isPhone(str) {
var reg = /^((([||||]))+\d{})$/;
return reg.test(str);
} //电话格式验证(包含手机号,电话号,400电话) zjr
function iSShouJiOrDianHua(val) {
var rule = /^[][||][-]{}$/.test(val);
var rule1 = /^[][-][-]{,}[-]?[-][-]{,}$/.test(val);
var rule2 = /^[-][-]{,}[-][-]{,}$/.test(val);
var rule3 = /^[][-][-]{,}[-]?[-][-]{,}[-][-]{,}$/.test(val);
var rule4 = /^(|)[-]?(([-]{}[-]?[-]{})|([-]{}[-]?[-]{}))$/.test(val);
return (rule || rule1 || rule2 || rule3)
} //电话格式验证(包含电话号,400电话) zjr
function iSDianHua(val) {
var rule1 = /^[][-][-]{,}[-]?[-][-]{,}$/.test(val);
var rule2 = /^[-][-]{,}[-][-]{,}$/.test(val);
var rule3 = /^[][-][-]{,}[-]?[-][-]{,}[-][-]{,}$/.test(val);
var rule4 = /^(|)[-]?(([-]{}[-]?[-]{})|([-]{}[-]?[-]{}))$/.test(val);
return (rule1 || rule2 || rule3)
} /**
* 验证url
* @param str 需验证字符
* @return
*/
function isUrl(str) {
var reg = /^http[s]?:\/\/[\w-]+(\.[\w-]+)+([\w-\.\/?%&=]*)?$/;
return reg.test(str);
}; /**
* 验证邮政编码
* @param str 需验证字符
* @return
*/
function isZipCode(str) {
var reg = /^[-]{}$/;
return reg.test(str);
} /**
* 6-20个字母、数字、下划线(常用于验证用户名密码)
* @param str 需验证字符
* @return
*/
function userNameOrPwdStr(str) {
var reg = /^(\w){,}$/;
return reg.test(str);
} /**
* 1-20个字母、数字、下划线(常用于验证用户名密码)
* @param str 需验证字符
* @return
*/
function userNameStr(str) {
var reg = /^(\w){,}$/;
return reg.test(str);
}
/**
* 修改提示信息
* @param tagId 标签id
* @param str 需验证字符
* @return
*/
function updatePointOut(tagId, str) {
$("#" + tagId).html(str);
} //验证文本内容为空时 border变为红色 参数为文本框对象
function IsEmpty(info) {
var result = true;
if ($.trim(info.val())=="") {
info.css({ "border": "1px solid red" });
result=false;
}
return result;
} //验证文本内容为空时 border变为红色 参数为文本框对象
//info 文本框对象 wenben 文本框的默认值 cuowutishi 给出错误提示
function IsEmpty(info,wenben) {
var result = true;
if ($.trim(info.val()) == "" || $.trim(info.val())==wenben) {
info.css({ "border": "1px solid red" });
result = false;
}
return result;
} //验证文本内容为空时 border变为红色 参数为文本框对象
//info 文本框对象 wenben 文本框的默认值 cuowutishi 给出错误提示
function IsEmpty(info, wenben, cuowutishi) {
var result = true;
if ($.trim(info.val()) == "" || $.trim(info.val()) == wenben||$.trim(info.val()) == cuowutishi) {
info.css({ "border": "1px solid red" });
result = false;
}
return result;
} //电话或手机
function isPhoneOrTel(val) {
var result = /^[-][-]{,}$/.test(val);
var result1 = /^[][-][-]{,}[-]?[-][-]{,}$/.test(val);
var result2 = /^[-][-]{,}[-][-]{,}$/.test(val);
var result3 = /^[][-][-]{,}[-]?[-][-]{,}[-][-]{,}$/.test(val);
var result4 = /^[,][][][-]?(([-]{}[-]?[-]{})|([-]{}[-]?[-]{}))$/.test(val);
var result5 = /^(([,][-])|([]([-]|[-]))|([][,])|([][]))[-]{}$/.test(val);
return (result || result1 || result2 || result3 || result4 || result5)
} //字符串长度范围(包含临界值)
//说明:可为空min=0,不为空min=1
function strLength(val, min, max) {
if (val.length < min || val.length > max) {
return false;
}
return true;
} //获取当前时间(yyyy-MM-dd hh:mm:dd格式)
function getDate() {
var date = new Date();
var year = date.getFullYear() + "-";
var month = date.getMonth()+;
var monthStr = (month > ? "" : "") + month + "-";
var day = date.getDate();
var dayStr = (day > ? "" : "") + day + " ";
var hours = date.getHours();
var hoursStr = (hours > ? "" : "") + hours + ":";
var minutes = date.getMinutes();
var minutesStr = (minutes > ? "" : "") + minutes + ":";
var seconds = date.getSeconds();
var secondsStr = (seconds > ? "" : "") + seconds;
return (year + monthStr + dayStr + hoursStr + minutesStr + secondsStr);
}

如果帮到你了请点赞奥,转载请注明出处

Js通用验证的更多相关文章

  1. JS通用表单验证函数,基于javascript正则表达式

    表单的验证在实际的开发当中是件很烦琐又无趣的事情今天在做一个小项目的时候,需要JS验证,寻找到一个比较好的东西 地址如下: http://blog.csdn.net/goodfunman/archiv ...

  2. 超简单的js数字验证

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...

  3. JS正则表达式验证账号、手机号、电话和邮箱

    JS正则表达式验证账号.手机号.电话和邮箱 效果体验:http://keleyi.com/keleyi/phtml/jstexiao/15.htm 验证帐号是否合法 验证规则:字母.数字.下划线组成, ...

  4. 手机号码js正则验证

    手机号码js正则验证 var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; if (!myreg.test($(" ...

  5. jquery/js实现验证聚焦,失焦

    jquery实现验证聚焦,失焦方法: 我还是喜欢用jquery来实现,不管页面中多少个输入框需要实现聚焦,失焦,都公有,我常用的方法是: 遍历该页面中的input框,获取输入框中的val值,当该输入框 ...

  6. JS通用事件监听函数

    JS通用事件监听函数 版本一 //把它全部封装到一个对象中 var obj={ readyEvent:function (fn){ if(fn==null){ fn=document; } var o ...

  7. 设计js通用库

    设计js通用库的四个步骤: 1.需求分析:分析库需要完成的所有功能. 2.编程接口:根据需求设计需要用到的接口及参数.返回值. 3.调用方法:支持链式调用,我们期望以动词方式描述接口. (ps:设计链 ...

  8. 【转】Eclipse去除js(JavaScript)验证错误

    这篇文章主要是对Eclipse去除js(JavaScript)验证错误进行了介绍.在Eclipse中,js文件常常会报错.可以通过如下几个步骤解决 第一步:去除eclipse的JS验证:将window ...

  9. js不验证

    给select添加了id,人家默认就有个id,id冲突导致js不验证

随机推荐

  1. micropython陀螺仪控制舵机

    2018-03-1220:14:00 import pyb import time from pyb import Pin xlights = (pyb.LED(2),pyb.LED(3)) MO = ...

  2. 平凡的世界小说txt下载完整版

    <平凡的世界>正白纸黑字的告诉我们这样的人生真谛.它响亮的提出,人,无论在什么位置,无论多么贫寒,只要一颗火热的心在,只要能热爱生活,上帝对他就是平等的.只有作一名劳动者,不把不幸当作负担 ...

  3. 字符编码方式ASCII、Unicode、UTF-8

    一.ASCII 1.介绍 即American Standard Code for Information Interchange(美国信息交换标准代码),是基于拉丁字母的,主要用于显示现代英语和其他西 ...

  4. MySQL(四)DQL语言——条件查询

    摘要:条件查询:条件表达式,逻辑表达式,模糊查询,like,通配符,转义字符,escape关键字,between and,in,is null,is not null,安全等于. 条件查询语法: SE ...

  5. Django基础核心技术之Model模型的介绍与设计

    Django基础核心技术之Model模型的介绍与设计原创: Yunbo Shi Python Web与Django开发 2018-05-03Django网络应用开发的5项基础核心技术包括模型(Mode ...

  6. RabbitMQ系列(七)--批量消息和延时消息

    批量消息发送模式 批量消息是指把消息放到一个集合统一进行提交,这种方案设计思路是希望消息在一个会话里,比如放到threadlocal里的集合,拥有相同 的会话ID,带有这次提交信息的size等属性,最 ...

  7. C/C++野指针

    野指针: 野指针不同于空指针,空指针是指一个指针的值为null,而野指针的值并不为null,野指针会指向一段实际的内存,只是它指向哪里我们并不知情,或者是它所指向的内存空间已经被释放,所以在实际使用的 ...

  8. 04StringBuffer相关知识、Arrays类、类型互换、正则、Date相关

    04StringBuffer相关知识.Arrays类.类型互换.正则.Date相关-2018.7.12 1.StringBuffer A:StringBuffer的构造方法: public Strin ...

  9. tarjan求强连通分量模板

    什么是强连通分量? 百度百科 有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(stro ...

  10. [luogu4127 AHOI2009] 同类分布 (数位dp)

    传送门 Solution 裸数位dp,空间存不下只能枚举数字具体是什么 注意memset最好为-1,不要是0,有很多状态答案为0 Code //By Menteur_Hxy #include < ...