//-----------------------------------------------------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. POJ_1050_(dp)

    To the Max Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 48232   Accepted: 25534 Desc ...

  2. HWND CWND 转换

    一.区别HWND是句柄,CWnd是MFC窗体类,CWnd中包含HWND句柄成员对象是m_hWnd.HWND是Windows系统中对所有窗口的一种标识,即窗口句柄.这是一个SDK概念.   CWnd是M ...

  3. 若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet(转载)

    若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet 若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet 请将 J ...

  4. POJ2152 Fire (树形DP)

    题意:n个城市n-1条边 组成一棵树 在每个城市修建消防站会有一个花费costi 每个城市能防火当且仅当地图上距离他最近的消防站距离小于di   问如何修建消防站 使地图上所有的城市都有预防火灾的能力 ...

  5. ansible结合playbook批量部署war包项目上线

    批量部署jenkins.war包实现上线 用于测试war包上线 [root~localhost]~#vim /etc/ansible/test.yml - hosts: test vars:     ...

  6. 用sed写配置IP脚本参数

    #!/bin/bash#配置ip地址参数脚本NET=/etc/sysconfig/network-scripts/ifcfg-ens33if grep -E "BOOTPROTO=dhcp& ...

  7. Android 按钮常用点击事件大总结

    很多学习Android程序设计的人都会发现每个人对代码的写法都有不同的偏好,比较明显的就是对控件响应事件的写法的不同.因此本文就把这些写法总结一下,比较下各种写法的优劣,希望对大家灵活地选择编码方式可 ...

  8. console.log格式化及console对象

    一.console.log格式化打印 console.log格式化这一用法一般都在个人博客或其他官网上有,当F12查看网页元素时,在控制台(console)那里偶尔会发现一些个性化的输出,感觉很奇特很 ...

  9. 数塔(hdoj 2084,动态规划递推)

    在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目 ...

  10. <MySQL>入门七 存储过程和函数

    -- 存储过程和函数 /* 存储过程和函数:类似java中的方法 好处: 1.提高代码的重用性 2.简化操作 */ /* 存储过程 含义:一组预先编译好的SQL语句的集合.理解成批处理语句 1.提高代 ...