//-----------------------------------------------------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. 接口与抽象类的区别-Java

    概念-抽象类: 类是对某一个对象的具体描述,抽象类则是对有共通之处的对象,描述共通之处的类;包含抽象方法的类一定的抽象类,抽象类并不一定包含抽象方法;抽象类中可以有数据成员,但数据成员必须是stati ...

  2. C# datagrideview插件的使用

    private void btnLogin_Click(object sender, EventArgs e) { string txtUserName = this.txtUserName.Text ...

  3. DOM节点例子

    elementNode.setAttribute(name,value) 1.name: 要设置的属性名. 2.value: 要设置的属性值. elementNode.getAttribute(nam ...

  4. java web 学习笔记 - jsp用的文件上传组件 SmartUpload

    ---恢复内容开始--- 1. SmartUpload 此控件在jsp中被广泛的使用,而FileUpload控件主要是用在框架中 2. 如果想要使用,需要在tomcat的lib目录中,将SmartUp ...

  5. Java学习1_一些基础1——16.5.4

    每个java程序中都必须有一个main方法,格式为: public class ClassName { public static void main(String[] args) { program ...

  6. JMeter在linux上分布式压测遇到的坑(三)

    master和slave机要在同一网段内,才能做分布式(Jmeter要配环境变量,这样不用手动起server) 分布式不成功,解决方案: 1.master端和slave端要ping通 2.ping通后 ...

  7. Vue渲染原理

    现在基本所有的框架都已经认同这个看法——DOM应尽可能是一个函数式到状态的映射.状态即是唯一的真相,而DOM状态只是数据状态的一个映射.如下图所示,所有的逻辑尽可能在状态的层面去进行,当状态改变的时候 ...

  8. Getting start with dbus in systemd (01) - Interface, method, path

    Getting start with dbus in systemd (01) 基本概念 几个概念 dbus name: connetion: 如下,第一行,看到的就是 "dbus name ...

  9. ProgressDialog的样式

    ProgressDialog的样式有两种,一种是圆形不明确状态,一种是水平进度条状态 第一种方式:圆形进度条 final ProgressDialog dialog = new ProgressDia ...

  10. UVA - 12589 Learning Vector(dp-01背包)

    题目: 思路: dp[j][h]表示选取了j个向量,且高度为h,利用01背包来解决问题. 没选当前的向量:dp[j][h] = dp[j][h]; 选了当前的向量:dp[j][h] = dp[j-1] ...