阳光天下

学无止境-与大家共同进步

导航

javascript 常用验证方法

Posted on 2011-12-24 21:23  阳光天下  阅读(381)  评论(0编辑  收藏  举报

声明以下内空均来自:http://www.web-tag.net/ 本人为了使用方便收集于此。

1.两个日期比较 

View Code
 1 /* 
2 用途:检查开始日期是否小于等于结束日期
3 输入:
4 s:字符串 开始日期 格式:2001-5-4
5
6
7
8 e:字符串 结束日期 格式:2002-5-4
9 返回:
10 如果通过开始日期小于等于结束日期返回true,否则返回false
11 */
12
13 function data_compare(s,e){
14 var arr=s.split("-");
15 var starttime=new Date(arr[0],arr[1],arr[2]);
16 var starttimes=starttime.getTime();
17
18 var arrs=e.split("-");
19 var endtime=new Date(arrs[0],arrs[1],arrs[2]);
20 var endtimes=endtime.getTime();
21
22 if(starttimes>=endtimes)
23 {
24 //alert('开始时间大于离开时间,请检查');
25 return false;
26 }
27 else
28 return true;
29 }

 

2.为空或全是空格 

View Code
 1 /* 
2 用途:检查输入字符串是否为空或者全部都是空格
3 输入:str
4 返回:
5 如果全是空返回true,否则返回false
6 */
7 function isNull(str) {
8 if (str == "") return true;
9 var regu = "^[ ]+$";
10 var re = new RegExp(regu);
11 return re.test(str);
12 }

 

3.判断是否是日期 

View Code
 1 /* 
2 用途:判断是否是日期
3 输入:date:日期;匹配的格式: 2010-5-16
4
5 返回:如果通过验证返回true,否则返回false
6 */
7
8 function isDate(str){
9 if (isNull(str)) return false;
10 var r = str.match(/^(\d{4})(-|\/)(\d{1,2})(-|\/)(\d{1,2})$/);
11 if(r==null)return false;
12 var d= new Date(r[1], r[3]-1, r[5]);
13 return (d.getFullYear()==r[1] && (d.getMonth()+1)==r[3] && d.getDate()==r[5]);
14 }

 

4.字母数字下划线 

View Code
/* 
用途:检查输入字符串是否只由英文字母和数字和下划线组成
输入:
s:字符串
返回:
如果通过验证返回true,否则返回false
*/
function isNumberOr_Letter(s) {//判断是否是数字或字母
var regu = "^[0-9a-zA-Z\_]+$";
var re = new RegExp(regu);
if (re.test(s)) {
return true;
} else {
return false;
}
}

 

5.字符1以字符串2开始 

View Code
 1 /* 
2 用途:字符1是否以字符串2开始
3 输入:str1:字符串;str2:被包含的字符串
4 返回:如果通过验证返回true,否则返回false
5 */
6 function isFirstMatch(str1, str2) {
7 var index = str1.indexOf(str2);
8 if (index == 0) return true;
9 return false;
10 }

 

6.字符1以字符串2结束 

View Code
 1 /* 
2 用途:字符1是否以字符串2结束
3 输入:str1:字符串;str2:被包含的字符串
4 返回:如果通过验证返回true,否则返回false
5 */
6 function isLastMatch(str1, str2) {
7 var index = str1.lastIndexOf(str2);
8 if (str1.length == index + str2.length) return true;
9 return false;
10 }

 

7.字符1包含字符串2 

View Code
 1 /* 
2 用途:字符1是包含字符串2
3 输入:str1:字符串;str2:被包含的字符串
4 返回:如果通过验证返回true,否则返回false
5 */
6 function isMatch(str1, str2) {
7 var index = str1.indexOf(str2);
8 if (index == -1) return false;
9 return true;
10 }

 

8.是否为email 

View Code
 1 /* 
2 用途:检查输入对象的值是否符合E-Mail格式
3 输入:str 输入的字符串
4 返回:如果通过验证返回true,否则返回false
5 */
6 function isEmail(str) {
7 var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
8 if (myReg.test(str)) return true;
9 return false;
10 }

 

9.是否为手机号码 

View Code
 1 /* 
2 用途:检查输入手机号码是否正确
3 输入:
4 s:字符串
5 返回:
6 如果通过验证返回true,否则返回false
7 */
8 function checkMobile(s) {
9 var regu = /^[1][0-9][0-9]{9}$/;
10 var re = new RegExp(regu);
11 if (re.test(s)) {
12 return true;
13 } else {
14 return false;
15 }
16 }

 

10.是否为数字 

View Code
 1 /* 
2 用途:检查输入字符串是否是数字
3 输入:
4 str:字符串
5 返回:
6 如果通过验证返回true,否则返回false
7 */
8
9 function isNumber(str)
10 {
11 var reg = /^\d+$/;
12 if (reg.test(str))
13 return true;
14 else
15 return false;
16 }


11.是否为时间

View Code
 1 /* 
2 用途:检查输入字符串是否符合时间格式
3 输入:
4 time:字符串
5 返回:
6 如果通过验证返回true,否则返回false
7 */
8 function isTime(time){
9 var regex = /^[0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}:[0-5]{1}[0-9]{1}$/;
10 if(!regex.test(time)){
11 return false;
12 }
13 var hour = time.substring(0,2);
14 var minute = time.substring(3,5);
15 var second = time.substring(6);
16 if(hour>23 || hour <0){
17 return false;
18 }
19 if(minute > 60 ||minute < 0){
20 return false;
21 }
22 if(second > 60 ||second < 0){
23 return false;
24 }
25 return true;
26 }

 

12.是否为正整数

View Code
 1 /* 
2 用途:检查输入字符串是否符合正整数格式
3 输入:
4 s:字符串
5 返回:
6 如果通过验证返回true,否则返回false
7 */
8 function isNumber(s) {
9 var regu = "^[0-9]+$";
10 var re = new RegExp(regu);
11 if (s.search(re) != -1) {
12 return true;
13 } else {
14 return false;
15 }
16 }

 

13.是否为电话号码

View Code
 1 /* 
2 用途:检查输入字符串是否符合国内固话或者传真格式
3 输入:
4 s:字符串 格式例如:020-87110252
5 返回:
6 如果通过验证返回true,否则返回false
7 */
8
9 function isTel(s){
10 var reg=/^((0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
11 if(!reg.test(s))
12 return false
13 return true
14 }

 

14.是否为端口号

View Code
1 /* 
2 用途:检查输入对象的值是否符合端口号格式
3 输入:str 输入的字符串
4 返回:如果通过验证返回true,否则返回false
5 */
6 function isPort(str) {
7 return (isNumber(str) && str < 65536);
8 }

 

15.是否为身份证号码

View Code
 1 /* 
2 用途:检查输入字符串是否符合身份证格式
3 输入:
4 s:字符串
5 返回:
6 如果通过验证返回true,否则返回false
7 */
8
9 function isIDno(strIDno)
10 {
11 var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};
12
13 var iSum = 0;
14 var info = "";
15 //var strIDno = obj.value;
16 var idCardLength = strIDno.length;
17 if(!/^\d{17}(\d|x)$/i.test(strIDno)&&!/^\d{15}$/i.test(strIDno))
18 {
19 //alert("非法身份证号");
20 return false;
21 }
22
23 //在后面的运算中x相当于数字10,所以转换成a
24 strIDno = strIDno.replace(/x$/i,"a");
25
26 if(aCity[parseInt(strIDno.substr(0,2))]==null)
27 {
28 //alert("非法地区");
29 return false;
30 }
31
32 if (idCardLength==18)
33 {
34 sBirthday=strIDno.substr(6,4)+"-"+Number(strIDno.substr(10,2))+"-"+Number(strIDno.substr(12,2));
35 var d = new Date(sBirthday.replace(/-/g,"/"))
36 if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))
37 {
38 //alert("非法生日");
39 return false;
40 }
41
42 for(var i = 17;i>=0;i --)
43 iSum += (Math.pow(2,i) % 11) * parseInt(strIDno.charAt(17 - i),11);
44
45 if(iSum%11!=1)
46 {
47 //alert("非法身份证号");
48 return false;
49 }
50 }
51 else if (idCardLength==15)
52 {
53 sBirthday = "19" + strIDno.substr(6,2) + "-" + Number(strIDno.substr(8,2)) + "-" + Number(strIDno.substr(10,2));
54 var d = new Date(sBirthday.replace(/-/g,"/"))
55 var dd = d.getFullYear().toString() + "-" + (d.getMonth()+1) + "-" + d.getDate();
56 if(sBirthday != dd)
57 {
58 //alert("非法生日");
59 return false;
60 }
61 }
62 return true;
63 }

 

16.是否为邮政编码

View Code
 1 /* 
2 用途:检查输入字符串是否符合邮政编码格式
3 输入:
4 s:字符串
5 返回:
6 如果通过验证返回true,否则返回false
7 */
8
9 function isZipcode(str)
10 {
11 var reg = /^\d+$/;
12 if (!reg.test(str))
13 return false;
14 if(str.length!=6)
15 {
16 //alert("邮政编码长度必须是6位");
17 return false;
18 }
19 return true;
20 }

 

17.是否为金额

View Code
 1 /* 
2 用途:检查输入字符串是否符合金额格式
3 格式定义为带小数的正数,小数点后最多三位
4 输入:
5 s:字符串
6 返回:
7 如果通过验证返回true,否则返回false
8 */
9 function isMoney(s) {
10 var regu = "^[0-9]+[\.][0-9]{0,3}$";
11 var re = new RegExp(regu);
12 if (re.test(s)) {
13 return true;
14 } else {
15 return false;
16 }
17 }

 

18.是否只为汉字

View Code
 1 /* 
2 用途:检查输入字符串是否只由汉字组成
3 输入:
4 s:字符串
5 返回:
6 如果通过验证返回true,否则返回false
7 */
8
9 function isZh(str){
10 var reg = /^[\u4e00-\u9fa5]+$/;
11 if (reg.test(str)) return true;
12 return false;
13 }

 

19.是否是整数

View Code
1 /* 
2 用途:检查输入对象的值是否符合整数格式
3 输入:str 输入的字符串
4 返回:如果通过验证返回true,否则返回false
5 */
6 function isInteger(str) {
7 var regu = /^[-]{0,1}[0-9]{1,}$/;
8 return regu.test(str);
9 }

 

20.校验ip地址

View Code
 1 /* 
2 用途:校验ip地址的格式
3 输入:strIP:ip地址
4 返回:如果通过验证返回true,否则返回false;
5 */
6 function isIP(strIP) {
7 if (isNull(strIP)) return false;
8 var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式
9 if (re.test(strIP)) {
10 if (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256) return true;
11 }
12 return false;
13 }

 

21.汉字字母数字

View Code
 1 /* 
2 用途:检查输入字符串是否只由汉字、字母、数字组成
3 输入:
4 value:字符串
5 返回:
6 如果通过验证返回true,否则返回false
7 */
8 function isChinaOrNumbOrLett(s) {//判断是否是汉字、字母、数字组成
9 var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";
10 var re = new RegExp(regu);
11 if (re.test(s)) {
12 return true;
13 } else {
14 return false;
15 }
16 }

 

22.英文数字组成

View Code
 1 /* 
2 用途:检查输入字符串是否只由英文字母和数字组成
3 输入:
4 s:字符串
5 返回:
6 如果通过验证返回true,否则返回false
7 */
8 function isNumberOrLetter(s) {//判断是否是数字或字母
9 var regu = "^[0-9a-zA-Z]+$";
10 var re = new RegExp(regu);
11 if (re.test(s)) {
12 return true;
13 } else {
14 return false;
15 }
16 }