//-----------------------------------------------------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. 北大ACM(POJ1015-Jury Compromise)

    Question:http://poj.org/problem?id=1015 问题点:DP. Memory: 1352K Time: 94MS Language: C++ Result: Accep ...

  2. Robot Framework(九) 执行测试用例——基本用法

    3.1基本用法 Robot Framework测试用例从命令行执行,默认情况下,最终结果是XML格式的输出文件和HTML 报告和日志.执行后,可以组合输出文件,然后使用rebot工具进行后处理. 3. ...

  3. c# Dictionary 扩展方法

    主要用于接口请求,数据转换 #region Dictionary 扩展方法 public static string getString(this Dictionary<string, stri ...

  4. top命令的用法

    top命令的用法 2018年07月15日 09:50:04 zhuoya_ 阅读数:1858    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/z ...

  5. 洛谷——P3389 【模板】高斯消元法

    P3389 [模板]高斯消元法 以下内容都可省略,直接转大佬博客%%% 高斯消元总结 只会背板子的蒟蒻,高斯消元是什么,不知道诶,看到大佬们都会了这个水题,蒟蒻只好也来切一切 高斯消元最大用途就是解多 ...

  6. chrome://plugins 无法打开的解决方法,同时解决“该网页已屏蔽插件-adobe flash player”

    chrome打开想要看视频时提示该网页已屏蔽插件-adobe flash player,在网上查了半天说在chrome plugins里面打开就可以了.可是chrome://plugins 无法打开, ...

  7. 洛谷 1501 [国家集训队]Tree II BZOJ 2631 Tree

    [题解] 维护乘法标记和加法标记的LCT #include<cstdio> #include<algorithm> #define Mod (51061) #define N ...

  8. PAT 1125 Chain the Ropes

    Given some segments of rope, you are supposed to chain them into one rope. Each time you may only fo ...

  9. 升级 HTTPS,价值何在?

    HTTPS 实质上是一种面向安全信息通信的协议.从最终的数据解析的角度上看,HTTPS 与 HTTP 没有本质上的区别.对于接收端而言,SSL/TSL 将接收的数据包解密,将数据传给 HTTP 协议层 ...

  10. [luoguP2680] 运输计划(lca + 二分 + 差分)

    传送门 暴力做法 50 ~ 60 枚举删边,求最大路径长度的最小值. 其中最大路径长度运用到了lca 我们发现,求lca的过程已经不能优化了,那么看看枚举删边的过程能不能优化. 先把边按照权值排序,然 ...