js判断是不是为中文,数字,身份证等函数 js表单验证大全
js判断是否为中文,数字,身份证等函数 js表单验证大全
/* 判断指定的内容是否为空,若为空则弹出 警告框 */ function isEmpty(theValue, strMsg){ if(theValue==”"){ alert(strMsg+”不能为空!”); return true; } return false; } /* 中文判断函数,允许生僻字用英文“*”代替 返回true表示是符合条件,返回false表示不符合 */ function isChinese(str){ var badChar =”ABCDEFGHIJKLMNOPQRSTUVWXYZ”; badChar += “abcdefghijklmnopqrstuvwxyz”; badChar += “0123456789″; badChar += ” “+” ”;//半角与全角空格 badChar += “`~!@#$%^&()-_=+]\\|:;\”\\’<,>?/”;//不包含*或.的英文符号 if(“”==str){ return false; } for(var i=0;i var c = str.charAt(i);//字符串str中的字符 if(badChar.indexOf(c) > -1){ return false; } } return true; } /* 数字判断函数,返回true表示是全部数字,返回false表示不全部是数字 */ function isNumber(str){ if(“”==str){ return false; } var reg = /\D/; return str.match(reg)==null; } /* 判断给定的字符串是否为指定长度的数字 是返回true,不是返回false */ function isNumber_Ex(str,len){ if(“”==str){ return false; } if(str.length!=len){ return false; } if(!isNumber(str)){ return false; } return true; } /* money判断函数,允许第一位为”-”来表示欠钱 返回true表示格式正确,返回false表示格式错误 */ function isMoney(str){ if(“”==str){ return false; } for(var i=0;i var c = str.charAt(i); if(i==0){ if(c!=”-”&&(c<”0″||c>”9″)){ return false; }else if(c==”-”&&str.length==1){ return false; } }else if(c < “0″ || c > “9″){ return false; } } return true; } /* 英文判断函数,返回true表示是全部英文,返回false表示不全部是英文 */ function isLetter(str){ if(“”==str){ return false; } for(var i=0;i var c = str.charAt(i); if((c<”a”||c>”z”)&&(c<”A”||c>”Z”)){ return false; } } return true; } /* 空格判断,当包含有空格返回false,当不包含一个空格返回true “”不能被判断 */ function notInSpace(str){ if(“”==str){ return false; } var badChar =” “; badChar += “ ”; for(var i=0;i var c = str.charAt(i);//字符串str中的字符 if(badChar.indexOf(c) > -1){ return false; } } return true; } /* 发票号判断函数,返回true表示是发票号,返回false表示不符合规范 */ function isFPH(str){ if(“”==str){ return false; } for(var i=0;i var c = str.charAt(i); if((c < “0″ || c > “9″) && (c!=”-”)&&(c!=”,”)){ return false; } } return true; } /* 电话判断函数,允许“数字”、“;”、“-”、“(”、”)“, true表示是电话号码 */ function isTelephone(str){ var trueChar = “()-;1234567890″; if(“”==str){ return false; } for(var i=0;i var c = str.charAt(i);//字符串str中的字符 if(trueChar.indexOf(c) == -1) return false; } return true; } /** 学制可以为1-7,也可以为3.5这种形式,不能超过7年或者低于1年 */ function isXZ(str){ if(“”==str){ return false; } var reg = /^[1-6](\.5)?$/; var r = str.match(reg); if(null!=r){ return true; }else{ if(str==”7″){ return true; }else{ return false; } } } /* 判断证书编号是否符合要求,证书编号包含中文、数字、大小写字母、(、)、- 是返回true,不是返回false */ function isZSBH(str){ if(“”==str){ return false; } for(var i=0;i var c = str.charAt(i); alpha = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”; alpha += “abcdefghijklmnopqrstuvwxyz”; alpha += “()-”; if(!isChinese(c)&&!isNumber(c)&&alpha.indexOf(c)==-1){ return false; } } return true; } /* 身份证判断函数,是返回true,不是返回false 15位数字,18位数字或者最后一位为X(大写) */ function isSFZ(str){ if(“”==str){ return false; } if(str.length!=15&&str.length!=18){//身份证长度不正确 return false; } if(str.length==15){ if(!isNumber(str)){ return false; } }else{ str1 = str.substring(0,17); str2 = str.substring(17,18); alpha = “X0123456789″; if(!isNumber(str1)||alpha.indexOf(str2)==-1){ return false; } } return true; } /* 得到今天的年,月,日 调用方法:today = new getToday(); 则today.year为今天的年以此类推 */ function getToday(){ this.now = new Date(); this.year = this.now.getFullYear(); this.month = this.now.getMonth(); this.day = this.now.getDate(); } js判断数字,字母,中文 1. var reg = /^(\w|[\u4E00-\u9FA5])*$/; if(arr=username.match(reg)) { ti=1; return ture; } else { alert(“用户名只允许为英文,数字和汉字的混合,\n请检查是否前后有空格或者其他符号”); ti=0; return false; }
/*2.利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,")" onbeforepaste="clipboardData.setData(‘text’,clipboardData.getData(‘text’) .replace(/[^\u4E00-\u9FA5]/g,"))" 用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,")" onbeforepaste="clipboardData.setData(‘text’,clipboardData.getData(‘text’) .replace(/[^\uFF00-\uFFFF]/g,"))" 用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,") " onbeforepaste="clipboardData.setData(‘text’,clipboardData.getData(‘text’) .replace(/[^\d]/g,"))" 用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,") " onbeforepaste="clipboardData.setData(‘text’,clipboardData.getData(‘text’) .replace(/[^\d]/g,"))"*/ //数字 function check() { if(!isNaN(document.all.form.str.value)) { alert('数字'); }; // 字母 function check() { var str = /[_a-zA-Z]/; if(str.test(document.all.form.str.value)) { alert('字母'); }; /** * 一些常用的javascript函数(方法) * 为便于使用,均书写成String对象的方法 把他保存为.js文件,可方便的扩展字符串对象的功能 * 方法名 功 能– Trim 删除首位空格 Occurs 统计指定字符出现的次数 * isDigit 检查是否由数字组成 * isAlpha 检查是否由数字字母和下划线组成 isNumber 检查是否为数 lenb 返回字节数 * isInChinese 检查是否包含汉字 * isEmail 简单的email检查 isDate 简单的日期检查,成功返回日期对象 * isInList 检查是否有列表中的字符字符 isInList * 检查是否有列表中的字符字符 */ /** * 删除首尾空格 ** */ String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }; /** * 统计指定字符出现的次数 ** */ String.prototype.Occurs = function(ch) { // var re = eval("/[^"+ch+"]/g"); // return this.replace(re, "").length; return this.split(ch).length-1; }; /** * 检查是否由数字组成 ** */ String.prototype.isDigit = function() { var s = this.Trim(); return (s.replace(/\d/g, "").length == 0); }; /** * 检查是否由数字字母和下划线组成 ** */ String.prototype.isAlpha = function() { return (this.replace(/\w/g, "").length == 0); } /** * 检查是否为数 ** */ String.prototype.isNumber = function() { var s = this.Trim(); return (s.search(/^[+-]?[0-9.]*$/) >= 0); } /** * 返回字节数 ** */ String.prototype.lenb = function() { return this.replace(/[^\x00-\xff]/g,"**").length; } /** * 检查是否包含汉字 ** */ String.prototype.isInChinese = function() { return (this.length != this.replace(/[^\x00-\xff]/g,"**").length); } /** * 简单的email检查 ** */ String.prototype.isEmail = function() { var strr; var mail = this; var re = /(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)/i; re.exec(mail); if(RegExp.$3!="" && RegExp.$3!="." && RegExp.$2!="."){ strr = RegExp.$1+RegExp.$2+RegExp.$3; }else if(RegExp.$2!="" && RegExp.$2!="."){ strr = RegExp.$1+RegExp.$2; }else { strr = RegExp.$1; } return (strr==mail); } /** * 简单的日期检查,成功返回日期对象 ** */ String.prototype.isDate = function() { var p; var re1 = /(\d{4})[年./-](\d{1,2})[月./-](\d{1,2})[日]?$/; var re2 = /(\d{1,2})[月./-](\d{1,2})[日./-](\d{2})[年]?$/; var re3 = /(\d{1,2})[月./-](\d{1,2})[日./-](\d{4})[年]?$/; if(re1.test(this)) { p = re1.exec(this); return new Date(p[1],p[2],p[3]); } if(re2.test(this)) { p = re2.exec(this); return new Date(p[3],p[1],p[2]); } if(re3.test(this)) { p = re3.exec(this); return new Date(p[3],p[1],p[2]); } return false; } /** * 检查是否有列表中的字符字符 ** */ String.prototype.isInList = function(list) { var re = eval("/["+list+"]/"); return re.test(this); } // 判断是否全是中文 function isChn(str){ var reg = /^[\u4E00-\u9FA5]+$/; if(!reg.test(str)){ alert("不是中文"); return false; } alert("中文"); return true; } //通用JS验证(手机,电话,邮箱,QQ)2010-05-04 18:59// 定义邮箱,电话,手机,QQ,税友通验证标志 var email_Flag = false; var phone_Flag = false; var mobile_Flag = false; var qq_Flag = false; var syt_Flag = false; // 验证是否为空 function verifyIsNull(info_span,str){ var flag = false; if(str == ""){ info_span.innerHTML = "对不起,您输入的内容为空。"; flag = true; } return flag; } // 验证邮箱 function verfifyEmail(){ var strEmail = document.getElementById("email").value; var email_info = document.getElementById("email_info"); if(verifyIsNull(email_info,strEmail)){ email_Flag = false; return ; } var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/; email_Flag = reg.test(strEmail); if(email_Flag){ email_info.innerHTML = "恭喜!邮箱地址输入正确。"; }else{ email_info.innerHTML = "对不起,您输入的邮箱地址格式错误。"; } } // 验证qq号码 function verifyQQ(){ var strQQ = document.getElementById("qq").value; var qq_info = document.getElementById("qq_info"); if(verifyIsNull(qq_info,strQQ)){ qq_Flag = false; return; } var reg = /^[1-9]\d{4,8}$/; qq_Flag = reg.test(strQQ); if(qq_Flag){ qq_info.innerHTML = "恭喜!QQ号码输入正确。"; }else{ qq_info.innerHTML = "对不起,您输入的QQ号码格式错误。"; } } // 验证电话号码 function verifyPhone(){ var strPhone = document.getElementById("phone").value; var phone_info = document.getElementById("phone_info"); var reg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/; if(verifyIsNull(phone_info,strPhone)){ phone_Flag = false; return ; } phone_Flag = reg.test(strPhone); if(phone_Flag){ phone_info.innerHTML = "恭喜!电话号码输入正确。"; }else{ phone_info.innerHTML = "对不起,您输入的电话号码格式错误。"; } } // 验证手机号码 function verifyMobile(){ var strMobile = document.getElementById("mobile").value; var mobile_info = document.getElementById("mobile_info"); if(verifyIsNull(mobile_info,strMobile)){ mobile_Flag = false; return; } var reg0=/^13\d{9}$/; var reg1=/^153\d{8}$/; var reg2=/^159\d{8}$/; var reg3=/^158\d{8}$/; var reg4=/^150\d{8}$/; if(reg0.test(strMobile) || reg1.test(strMobile) || reg2.test(strMobile) || reg3.test(strMobile) || reg4.test(strMobile)){ mobile_Flag = true; }else{ mobile_Flag = false; } if (mobile_Flag){ document.getElementById("mobile_info").innerHTML = "恭喜!手机号码输入正确。"; }else{ document.getElementById("mobile_info").innerHTML = "对不起,您输入的手机号码格式错误。"; } }; /*说明 test方法检查在字符串中是否存在一个模式,如果存在则返回 true,否则就返回 false。 正则表达式部分: \d 代表一个数字 {7,8} 代表7-8位数字(表示电话号码) {3,} 代表分机号码 d{2,3} 代表区号 \+]\d{2,3} 代表国际区号*/ function isNO(){ var reg0 = /^13\d{5,9}$/ ;// 130–139。至少5位,最多9位 var reg1 = /^153\d{4,8}$/ ; // 联通153。至少4位,最多8位 var reg2 = /^159\d{4,8}$/ ;// 移动159。至少4位,最多8位 };