Js通用验证
//-----------------------------------------------------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通用验证的更多相关文章
- JS通用表单验证函数,基于javascript正则表达式
表单的验证在实际的开发当中是件很烦琐又无趣的事情今天在做一个小项目的时候,需要JS验证,寻找到一个比较好的东西 地址如下: http://blog.csdn.net/goodfunman/archiv ...
- 超简单的js数字验证
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...
- JS正则表达式验证账号、手机号、电话和邮箱
JS正则表达式验证账号.手机号.电话和邮箱 效果体验:http://keleyi.com/keleyi/phtml/jstexiao/15.htm 验证帐号是否合法 验证规则:字母.数字.下划线组成, ...
- 手机号码js正则验证
手机号码js正则验证 var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; if (!myreg.test($(" ...
- jquery/js实现验证聚焦,失焦
jquery实现验证聚焦,失焦方法: 我还是喜欢用jquery来实现,不管页面中多少个输入框需要实现聚焦,失焦,都公有,我常用的方法是: 遍历该页面中的input框,获取输入框中的val值,当该输入框 ...
- JS通用事件监听函数
JS通用事件监听函数 版本一 //把它全部封装到一个对象中 var obj={ readyEvent:function (fn){ if(fn==null){ fn=document; } var o ...
- 设计js通用库
设计js通用库的四个步骤: 1.需求分析:分析库需要完成的所有功能. 2.编程接口:根据需求设计需要用到的接口及参数.返回值. 3.调用方法:支持链式调用,我们期望以动词方式描述接口. (ps:设计链 ...
- 【转】Eclipse去除js(JavaScript)验证错误
这篇文章主要是对Eclipse去除js(JavaScript)验证错误进行了介绍.在Eclipse中,js文件常常会报错.可以通过如下几个步骤解决 第一步:去除eclipse的JS验证:将window ...
- js不验证
给select添加了id,人家默认就有个id,id冲突导致js不验证
随机推荐
- 逻辑回归(Logistic Regression)推导
出自BYRans博客:http://www.cnblogs.com/BYRans/ 本文主要讲解分类问题中的逻辑回归.逻辑回归是一个二分类问题. 二分类问题 二分类问题是指预测的y值只有两个取值(0或 ...
- Tornado引入静态css、js文件
一.静态路径 template_path=os.path.join(os.path.dirname(__file__), "templates") 这里是设置了模板的路径,放置模板 ...
- 【sqli-labs】 less61 GET -Challenge -Double Query -5 queries allowed -Variation4 (GET型 挑战 双查询 只允许5次查询 变化4)
http://192.168.136.128/sqli-labs-master/Less-61/?id=1' 单引号双括号闭合 192.168.136.128/sqli-labs-master/Les ...
- 微信小程序 客服自动回复图片
产品需求是,在客服对话框里,发送特定的文字,回复我们的二维码: 小城程开发完成后,这个自动回复图片的功能就摆在了眼前.刚开始我们想到的是:在线客服功能的设置里设置好自动回复的图片,但是目前设置不支持自 ...
- c++写入txt
用ofstream 输出流,#include <fstream> ofstream outf; outf.open("abc.txt");outf<<123 ...
- linux 挂载数据盘
完整的阿里云挂载数据盘方法如下: 1.入手阿里云后查看有几块硬盘:(只显示概况,不显示分区情况) fdisk -l|grep Disk 2.查看硬盘分区 fdisk -l 如果有提示:disk /de ...
- Mkdocs在html网页上看markdown
目录 Mkdocs在html网页上看markdown 1. 本文目的 2. Mkdocs介绍 3. DEMO的演示 3.1 配置需求 3.2 安装mkdocs 3.3 新建工程 3.4 启动服务器 3 ...
- A useful logger function in C project.
#cat log.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include < ...
- 如何在MONO 3D寻找最短路路径
前段时间有个客户说他们想在我们的3D的机房中找从A点到B点的最短路径,然而在2D中确实有很多成熟的寻路算法,其中A*是最为常见的,而这个Demo也是用的A*算法,以下计算的是从左上角到右下角的最短路径 ...
- 12Cookie、Session
12Cookie.Session-2018/07/24 1.保存会话数据 cookie客户端技术,把每个用户的数据以cookie的形式写给用户各自的浏览器 HttpSession服务端技术,服务器运行 ...