28個(gè)JS驗(yàn)證函數(shù)收集
更新時(shí)間:2010年03月02日 12:19:13 作者:
做網(wǎng)站的時(shí)候,很多地方都是由表單提交組成的,但是有提交的地方都要有驗(yàn)證??蛻舳蓑?yàn)證最簡單的方法就是使用JS自定義函數(shù)。這個(gè)文檔包含平時(shí)常用的28個(gè)驗(yàn)證函數(shù),還有驗(yàn)證函數(shù)幾種使用方法。
JS驗(yàn)證函數(shù)的調(diào)用方法和注意:
1.給表單設(shè)置onsubmit="return test()",配合<input type="submit" name="Submit" value="check"> 進(jìn)行提交.
2.<input type=text onkeydown="test();"> //當(dāng)鼠標(biāo)按下直接調(diào)用函數(shù)驗(yàn)證
3.<input type=text onblur="testl(this.value)"> //傳入自己的值進(jìn)行驗(yàn)證,test(this)//傳入對象本身進(jìn)行驗(yàn)證
4.<input type="button" value="test" onclick="test()"> //單擊Btn進(jìn)行驗(yàn)證,如果通過則用document.forms[0].submit(); 進(jìn)行表單提交
5.<input onClick="return test();" type="submit" name="submit" value=" 提交信息 ">//使用submit進(jìn)行提交驗(yàn)證,如果test中return false;則不提交返true提交.
6.<script type="javascript">....function test(){...return false;...}...</script>
7.||與,&&或,!非
8.常用事件:onblur失去焦點(diǎn),onchange失去焦點(diǎn)并且內(nèi)容發(fā)生改變,onfocus元素獲得焦點(diǎn),onreset當(dāng)表單中RESET的屬性被激發(fā)時(shí),onsubmit表單被提交時(shí)觸發(fā)此事件
9.驗(yàn)證正則表達(dá)式:if(/^[1-9]\d*$/.test(str))返回真則通過,FALSE通不通過
10.document.getElementById("ip").value//訪問ID的值,document.form1.text1.value//通過name訪問
11.<input onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能為空!')"> //執(zhí)行單條正則驗(yàn)證例
驗(yàn)證函數(shù):
<input type="text" name="text1" id="text1" onblur="test();" value="" />
1.字符長度限制
function test()
{
if(document.form1.text1.value.length>50)
{
alert("不能超過50個(gè)字符!");
document.form1.text1.focus();
return false;
}
}
2.只能是英文,字母或數(shù)字
function test()
{
if(!(event.keyCode>=65&&event.keyCode<=90))
{
alert("只能是英文!");
document.form1.text1.focus();
}
}
<input onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有錯(cuò)')"> //字母或數(shù)字
3.只能是數(shù)字
function test()
{
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) //考慮小鍵盤上的數(shù)字鍵
{
alert("只能是數(shù)字!");
document.form1.text1.focus();
}
}
或者
function test(NUM)
{
var i,j,strTemp;
strTemp="0123456789";
if ( NUM.length== 0)
return 0
for (i=0;i<NUM.length;i++)
{
j=strTemp.indexOf(NUM.charAt(i));
if (j==-1)
{
alert("只能是數(shù)字!");
return false;
}
}
//說明是數(shù)字
return true;
}
5.驗(yàn)證郵箱(正則,函數(shù))
function isEmail(strEmail) {
if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
return true;
else
alert("格式錯(cuò)誤!");
}
function isEmail() {
if (document.userinfo.useremail.value.charAt(0)=="." ||
document.userinfo.useremail.value.charAt(0)=="@"||
document.userinfo.useremail.value.indexOf('@', 0) == -1 ||
document.userinfo.useremail.value.indexOf('.', 0) == -1 ||
document.userinfo.useremail.value.lastIndexOf("@")==document.userinfo.useremail.value.length-1 ||
document.userinfo.useremail.value.lastIndexOf(".")==document.userinfo.useremail.value.length-1)
{
alert("Email地址格式不正確!");
document.userinfo.useremail.focus();
return false;
}
}
<input type="text" onblur="isEmail(this.value);" name="text1" />
6.屏蔽關(guān)鍵字(這里屏蔽***和****)
function test() {
if((document.form1.text1.value.indexOf ("***") == 0)||(document.form1.text1.value.indexOf ("****") == 0)){
alert("存在關(guān)鍵字");
document.form1.text1.focus();
return false;
}
}
7.比較兩次輸入是否相同
if(document.userinfo.userpassword.value != document.userinfo.userpassword1.value) {
document.userinfo.userpassword.focus();
document.userinfo.userpassword.value = '';
document.userinfo.userpassword1.value = '';
alert("兩次輸入的密碼不同,請重新輸入!");
return false;
}
8.判斷是否為空或空格組成
function test(){
if(checkspace(document.form1.text1.value)) {
document.form1.text1.focus();
alert("為空或包含空格組成!");
return false;
}
}
function checkspace(checkstr) {
var str = '';
for(i = 0; i < checkstr.length; i++) {
str = str + ' ';
}
return (str == checkstr);
}
或者:
<input onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能為空!')"> //執(zhí)行單條正則驗(yàn)證例
9. 驗(yàn)證是否是數(shù)字電話,只能是數(shù)字和-
正則:\d{3}-\d{8}|\d{4}-\d{7}
function istel(elem) {
var str=elem.value;
var oneDecimal=false;
var oneChar=0;
str=str.toString( );
for (var i=0; i<str.length; i++) {
oneChar=str.charAt(i).charCodeAt(0);
if(oneChar==45){ continue; }
if(oneChar<48 || oneChar > 57) {
alert("此項(xiàng)只能輸入數(shù)字和'-'號.");
return false;
}
}
return true;
}
或者
function fucCheckTEL(TEL)
{
var i,j,strTemp;
strTemp="0123456789-()# ";
for (i=0;i<TEL.length;i++)
{
j=strTemp.indexOf(TEL.charAt(i));
if (j==-1)
{
alert("此項(xiàng)只能輸入數(shù)字和'-'號.");
return false;
}
}
//說明合法
return true;
}
或者
//校驗(yàn)普通電話、傳真號碼:可以“+”開頭,除數(shù)字外,可含有“-”
function isTel(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
或者
要求:
(1)電話號碼由數(shù)字、"("、")"和"-"構(gòu)成
(2)電話號碼為3到8位
(3)如果電話號碼中包含有區(qū)號,那么區(qū)號為三位或四位
(4)區(qū)號用"("、")"或"-"和其他部分隔開
(5)移動(dòng)電話號碼為11或12位,如果為12位,那么第一位為0
(6)11位移動(dòng)電話號碼的第一位和第二位為"13"
(7)12位移動(dòng)電話號碼的第二位和第三位為"13"
根據(jù)這幾條規(guī)則,可以與出以下正則表達(dá)式:
(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)
function PhoneCheck(s) {
var str=s;
var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/
alert(reg.test(str));
}
<input type="text" name="text1" onblur="istel(this);" />
10.//當(dāng)opt2為1時(shí)檢查num是否是負(fù)數(shù)//當(dāng)opt1為1時(shí)檢查num是否是小數(shù)//返回1是正確的,0是錯(cuò)誤的
function chknbr(num,opt1,opt2)
{
var i=num.length;
var staus;
//staus用于記錄.的個(gè)數(shù)
status=0;
if ((opt2!=1) && (num.charAt(0)=='-'))
{
alert("You have enter a invalid number.");
return 0;
}
//當(dāng)最后一位為.時(shí)出錯(cuò)
if (num.charAt(i-1)=='.')
{
alert("You have enter a invalid number.");
return 0;
}
for (j=0;j<i;j++)
{
if (num.charAt(j)=='.')
{
status++;
}
if (status>1)
{
alert("You have enter a invalid number.");
return 0;
}
if (num.charAt(j)<'0' || num.charAt(j)>'9' )
{
if (((opt1==0) || (num.charAt(j)!='.')) && (j!=0))
{
alert("You have enter a invalid number.");
return 0;
}
}
}
return 1;
}
11.檢查是否數(shù)字或字母組成的串
function test(str)
{
var strSource ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var ch;
var i;
var temp;
for (i=0;i<=(str.length-1);i++)
{
ch = str.charAt(i);
temp = strSource.indexOf(ch);
if (temp==-1)
{
alert("格式不正確!");
return false;
}
}
if (strSource.indexOf(ch)==-1)
{
alert("格式不正確!");
return false;
}
else
{
return true;
}
}
12.數(shù)字驗(yàn)證
正整數(shù)驗(yàn)證^[1-9]\d*$,負(fù)整數(shù)驗(yàn)證^-[1-9]\d*$ ,整數(shù)^-?[1-9]\d*$,非負(fù)整數(shù)^[1-9]\d*|0$,非正正數(shù)^-[1-9]\d*|0$,浮點(diǎn)數(shù)^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
function test(str){
if(/^[1-9]\d*$/.test(str))
{
alert("格式不能!");
return false;
}
else
{
return true;
}
}
13.身份證
正則:\d{15}|\d{18}
14.IP地址
正則:\d+\.\d+\.\d+\.\d+
15.郵政編碼
正則:[1-9]\d{5}(?!\d)
function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}
16.QQ號
正則:[1-9][0-9]{4,}
17.HTML標(biāo)記
正則:\d{3}-\d{8}|\d{4}-\d{7}
18.是否有效的顏色值
function IsColor(color){
var temp=color;
if (temp=="") return true;
if (temp.length!=7) return false;
return (temp.search(/\\#[a-fA-F0-9]{6}/) != -1);
}
19.是否有效的鏈接
function IsURL(url){
var sTemp;
var b=true;
sTemp=url.substring(0,7);
sTemp=sTemp.toUpperCase();
if ((sTemp!="HTTP://")||(url.length<10)){
b=false;
}
return b;
}
20.是否有效的手機(jī)號碼
function IsMobile(_str){
var tmp_str = trim(_str);
var pattern = /13\\d{9}/;
return pattern.test(tmp_str);
}
或者
//校驗(yàn)手機(jī)號碼:必須以數(shù)字開頭,除數(shù)字外,可含有“-”
function IsMobile(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
21.IP地址和身份證號驗(yàn)證(正則)
function checkIP()
{
obj=document.getElementById("ip").value
//ip地址
//var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
//身份證
//var exp=/\b(((?!\d\d\d)\d+|1\d\d|2[0-4]\d|25[0-5])(\b|\.)){4}/
//var exp=/^(\d{15}|\d{17}[x0-9])/
//var exp=/^([\d]{15}|[\d]{18}|[\d]{17}[x|X])$/
var reg = obj.match(exp);
if(reg==null)
{
alert("IP地址不合法!");
}
else
{
alert("IP地址合法!");
}
}
22.校驗(yàn)登錄名:只能輸入5-20個(gè)以字母開頭、可帶數(shù)字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
23.校驗(yàn)用戶姓名:只能輸入1-30個(gè)以字母開頭的字串
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}
24.校驗(yàn)密碼:只能輸入6-20個(gè)字母、數(shù)字、下劃線
function isPasswd(s)
{
var patrn=/^(\w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}
25.日期時(shí)間類
短時(shí)間,形如 (13:04:06)
function isTime(str)
{
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {alert('輸入的參數(shù)不是時(shí)間格式'); return false;}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
alert("時(shí)間格式不對");
return false
}
return true;
}
短日期,形如 (2003-12-05)
function strDateTime(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)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]);
}
長時(shí)間,形如 (2003-12-05 13:04:06)
function strDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
26.判斷字符全部由a-Z或者是A-Z的字字母組成
<input onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有錯(cuò)')">
27.判斷字符由字母和數(shù)字,下劃線,點(diǎn)號組成.且開頭的只能是下劃線和字母
<input onblur="if(/^([a-zA-z_]{1})([\w]*)$/g.test(this.value))alert('有錯(cuò)')">
28.表單的值不能為空,不能超過imax字符,不能少于imix字符,輸入為中文判斷
function isNull(elem){
//var pattern=/^\s+|\s+$/;
if(elem.replace(/(^\s+|\s$)/g, "")==""){
return false;
}else{
return true;
}
}
function imax(elem){
if(elem.length>imax){
return false;
}else{
return true;
}
}
function imix(elem){
if(elem.lengthreturn false;
}else{
return true;
}
}
function isChinese(elem){
var pattern=/[^\x00-\xff]/g;
if(pattern.test(elem)){
//包含中文
return false;
}else{
//不包含中文
return true;
}
}
1.給表單設(shè)置onsubmit="return test()",配合<input type="submit" name="Submit" value="check"> 進(jìn)行提交.
2.<input type=text onkeydown="test();"> //當(dāng)鼠標(biāo)按下直接調(diào)用函數(shù)驗(yàn)證
3.<input type=text onblur="testl(this.value)"> //傳入自己的值進(jìn)行驗(yàn)證,test(this)//傳入對象本身進(jìn)行驗(yàn)證
4.<input type="button" value="test" onclick="test()"> //單擊Btn進(jìn)行驗(yàn)證,如果通過則用document.forms[0].submit(); 進(jìn)行表單提交
5.<input onClick="return test();" type="submit" name="submit" value=" 提交信息 ">//使用submit進(jìn)行提交驗(yàn)證,如果test中return false;則不提交返true提交.
6.<script type="javascript">....function test(){...return false;...}...</script>
7.||與,&&或,!非
8.常用事件:onblur失去焦點(diǎn),onchange失去焦點(diǎn)并且內(nèi)容發(fā)生改變,onfocus元素獲得焦點(diǎn),onreset當(dāng)表單中RESET的屬性被激發(fā)時(shí),onsubmit表單被提交時(shí)觸發(fā)此事件
9.驗(yàn)證正則表達(dá)式:if(/^[1-9]\d*$/.test(str))返回真則通過,FALSE通不通過
10.document.getElementById("ip").value//訪問ID的值,document.form1.text1.value//通過name訪問
11.<input onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能為空!')"> //執(zhí)行單條正則驗(yàn)證例
驗(yàn)證函數(shù):
<input type="text" name="text1" id="text1" onblur="test();" value="" />
1.字符長度限制
function test()
{
if(document.form1.text1.value.length>50)
{
alert("不能超過50個(gè)字符!");
document.form1.text1.focus();
return false;
}
}
2.只能是英文,字母或數(shù)字
function test()
{
if(!(event.keyCode>=65&&event.keyCode<=90))
{
alert("只能是英文!");
document.form1.text1.focus();
}
}
<input onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有錯(cuò)')"> //字母或數(shù)字
3.只能是數(shù)字
function test()
{
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) //考慮小鍵盤上的數(shù)字鍵
{
alert("只能是數(shù)字!");
document.form1.text1.focus();
}
}
或者
function test(NUM)
{
var i,j,strTemp;
strTemp="0123456789";
if ( NUM.length== 0)
return 0
for (i=0;i<NUM.length;i++)
{
j=strTemp.indexOf(NUM.charAt(i));
if (j==-1)
{
alert("只能是數(shù)字!");
return false;
}
}
//說明是數(shù)字
return true;
}
5.驗(yàn)證郵箱(正則,函數(shù))
function isEmail(strEmail) {
if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
return true;
else
alert("格式錯(cuò)誤!");
}
function isEmail() {
if (document.userinfo.useremail.value.charAt(0)=="." ||
document.userinfo.useremail.value.charAt(0)=="@"||
document.userinfo.useremail.value.indexOf('@', 0) == -1 ||
document.userinfo.useremail.value.indexOf('.', 0) == -1 ||
document.userinfo.useremail.value.lastIndexOf("@")==document.userinfo.useremail.value.length-1 ||
document.userinfo.useremail.value.lastIndexOf(".")==document.userinfo.useremail.value.length-1)
{
alert("Email地址格式不正確!");
document.userinfo.useremail.focus();
return false;
}
}
<input type="text" onblur="isEmail(this.value);" name="text1" />
6.屏蔽關(guān)鍵字(這里屏蔽***和****)
function test() {
if((document.form1.text1.value.indexOf ("***") == 0)||(document.form1.text1.value.indexOf ("****") == 0)){
alert("存在關(guān)鍵字");
document.form1.text1.focus();
return false;
}
}
7.比較兩次輸入是否相同
if(document.userinfo.userpassword.value != document.userinfo.userpassword1.value) {
document.userinfo.userpassword.focus();
document.userinfo.userpassword.value = '';
document.userinfo.userpassword1.value = '';
alert("兩次輸入的密碼不同,請重新輸入!");
return false;
}
8.判斷是否為空或空格組成
function test(){
if(checkspace(document.form1.text1.value)) {
document.form1.text1.focus();
alert("為空或包含空格組成!");
return false;
}
}
function checkspace(checkstr) {
var str = '';
for(i = 0; i < checkstr.length; i++) {
str = str + ' ';
}
return (str == checkstr);
}
或者:
<input onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能為空!')"> //執(zhí)行單條正則驗(yàn)證例
9. 驗(yàn)證是否是數(shù)字電話,只能是數(shù)字和-
正則:\d{3}-\d{8}|\d{4}-\d{7}
function istel(elem) {
var str=elem.value;
var oneDecimal=false;
var oneChar=0;
str=str.toString( );
for (var i=0; i<str.length; i++) {
oneChar=str.charAt(i).charCodeAt(0);
if(oneChar==45){ continue; }
if(oneChar<48 || oneChar > 57) {
alert("此項(xiàng)只能輸入數(shù)字和'-'號.");
return false;
}
}
return true;
}
或者
function fucCheckTEL(TEL)
{
var i,j,strTemp;
strTemp="0123456789-()# ";
for (i=0;i<TEL.length;i++)
{
j=strTemp.indexOf(TEL.charAt(i));
if (j==-1)
{
alert("此項(xiàng)只能輸入數(shù)字和'-'號.");
return false;
}
}
//說明合法
return true;
}
或者
//校驗(yàn)普通電話、傳真號碼:可以“+”開頭,除數(shù)字外,可含有“-”
function isTel(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
或者
要求:
(1)電話號碼由數(shù)字、"("、")"和"-"構(gòu)成
(2)電話號碼為3到8位
(3)如果電話號碼中包含有區(qū)號,那么區(qū)號為三位或四位
(4)區(qū)號用"("、")"或"-"和其他部分隔開
(5)移動(dòng)電話號碼為11或12位,如果為12位,那么第一位為0
(6)11位移動(dòng)電話號碼的第一位和第二位為"13"
(7)12位移動(dòng)電話號碼的第二位和第三位為"13"
根據(jù)這幾條規(guī)則,可以與出以下正則表達(dá)式:
(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)
function PhoneCheck(s) {
var str=s;
var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/
alert(reg.test(str));
}
<input type="text" name="text1" onblur="istel(this);" />
10.//當(dāng)opt2為1時(shí)檢查num是否是負(fù)數(shù)//當(dāng)opt1為1時(shí)檢查num是否是小數(shù)//返回1是正確的,0是錯(cuò)誤的
function chknbr(num,opt1,opt2)
{
var i=num.length;
var staus;
//staus用于記錄.的個(gè)數(shù)
status=0;
if ((opt2!=1) && (num.charAt(0)=='-'))
{
alert("You have enter a invalid number.");
return 0;
}
//當(dāng)最后一位為.時(shí)出錯(cuò)
if (num.charAt(i-1)=='.')
{
alert("You have enter a invalid number.");
return 0;
}
for (j=0;j<i;j++)
{
if (num.charAt(j)=='.')
{
status++;
}
if (status>1)
{
alert("You have enter a invalid number.");
return 0;
}
if (num.charAt(j)<'0' || num.charAt(j)>'9' )
{
if (((opt1==0) || (num.charAt(j)!='.')) && (j!=0))
{
alert("You have enter a invalid number.");
return 0;
}
}
}
return 1;
}
11.檢查是否數(shù)字或字母組成的串
function test(str)
{
var strSource ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var ch;
var i;
var temp;
for (i=0;i<=(str.length-1);i++)
{
ch = str.charAt(i);
temp = strSource.indexOf(ch);
if (temp==-1)
{
alert("格式不正確!");
return false;
}
}
if (strSource.indexOf(ch)==-1)
{
alert("格式不正確!");
return false;
}
else
{
return true;
}
}
12.數(shù)字驗(yàn)證
正整數(shù)驗(yàn)證^[1-9]\d*$,負(fù)整數(shù)驗(yàn)證^-[1-9]\d*$ ,整數(shù)^-?[1-9]\d*$,非負(fù)整數(shù)^[1-9]\d*|0$,非正正數(shù)^-[1-9]\d*|0$,浮點(diǎn)數(shù)^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
function test(str){
if(/^[1-9]\d*$/.test(str))
{
alert("格式不能!");
return false;
}
else
{
return true;
}
}
13.身份證
正則:\d{15}|\d{18}
14.IP地址
正則:\d+\.\d+\.\d+\.\d+
15.郵政編碼
正則:[1-9]\d{5}(?!\d)
function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}
16.QQ號
正則:[1-9][0-9]{4,}
17.HTML標(biāo)記
正則:\d{3}-\d{8}|\d{4}-\d{7}
18.是否有效的顏色值
function IsColor(color){
var temp=color;
if (temp=="") return true;
if (temp.length!=7) return false;
return (temp.search(/\\#[a-fA-F0-9]{6}/) != -1);
}
19.是否有效的鏈接
function IsURL(url){
var sTemp;
var b=true;
sTemp=url.substring(0,7);
sTemp=sTemp.toUpperCase();
if ((sTemp!="HTTP://")||(url.length<10)){
b=false;
}
return b;
}
20.是否有效的手機(jī)號碼
function IsMobile(_str){
var tmp_str = trim(_str);
var pattern = /13\\d{9}/;
return pattern.test(tmp_str);
}
或者
//校驗(yàn)手機(jī)號碼:必須以數(shù)字開頭,除數(shù)字外,可含有“-”
function IsMobile(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
21.IP地址和身份證號驗(yàn)證(正則)
function checkIP()
{
obj=document.getElementById("ip").value
//ip地址
//var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
//身份證
//var exp=/\b(((?!\d\d\d)\d+|1\d\d|2[0-4]\d|25[0-5])(\b|\.)){4}/
//var exp=/^(\d{15}|\d{17}[x0-9])/
//var exp=/^([\d]{15}|[\d]{18}|[\d]{17}[x|X])$/
var reg = obj.match(exp);
if(reg==null)
{
alert("IP地址不合法!");
}
else
{
alert("IP地址合法!");
}
}
22.校驗(yàn)登錄名:只能輸入5-20個(gè)以字母開頭、可帶數(shù)字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
23.校驗(yàn)用戶姓名:只能輸入1-30個(gè)以字母開頭的字串
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}
24.校驗(yàn)密碼:只能輸入6-20個(gè)字母、數(shù)字、下劃線
function isPasswd(s)
{
var patrn=/^(\w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}
25.日期時(shí)間類
短時(shí)間,形如 (13:04:06)
function isTime(str)
{
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {alert('輸入的參數(shù)不是時(shí)間格式'); return false;}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
alert("時(shí)間格式不對");
return false
}
return true;
}
短日期,形如 (2003-12-05)
function strDateTime(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)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]);
}
長時(shí)間,形如 (2003-12-05 13:04:06)
function strDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
26.判斷字符全部由a-Z或者是A-Z的字字母組成
<input onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有錯(cuò)')">
27.判斷字符由字母和數(shù)字,下劃線,點(diǎn)號組成.且開頭的只能是下劃線和字母
<input onblur="if(/^([a-zA-z_]{1})([\w]*)$/g.test(this.value))alert('有錯(cuò)')">
28.表單的值不能為空,不能超過imax字符,不能少于imix字符,輸入為中文判斷
function isNull(elem){
//var pattern=/^\s+|\s+$/;
if(elem.replace(/(^\s+|\s$)/g, "")==""){
return false;
}else{
return true;
}
}
function imax(elem){
if(elem.length>imax){
return false;
}else{
return true;
}
}
function imix(elem){
if(elem.lengthreturn false;
}else{
return true;
}
}
function isChinese(elem){
var pattern=/[^\x00-\xff]/g;
if(pattern.test(elem)){
//包含中文
return false;
}else{
//不包含中文
return true;
}
}
您可能感興趣的文章:
- vbscript和javascript版的15位, 18位的身份證號碼的驗(yàn)證函數(shù).以及根據(jù)身份證取省份,生日,性別
- 經(jīng)常用到的javascript驗(yàn)證函數(shù)收集
- JS支持帶x身份證號碼驗(yàn)證函數(shù)
- js form 驗(yàn)證函數(shù) 當(dāng)前比較流行的錯(cuò)誤提示
- javascript 手機(jī)號碼正則表達(dá)式驗(yàn)證函數(shù)
- javascript 身份證號碼驗(yàn)證函數(shù)(可辨真?zhèn)?,支?5或18位身份證號)測試誤差為0
- Js 小數(shù)驗(yàn)證函數(shù)代碼(基于正則)
- JAVASCRIPT車架號識別/驗(yàn)證函數(shù)代碼 汽車車架號驗(yàn)證程序
- 簡單的js表單驗(yàn)證函數(shù)
- javascript 常用驗(yàn)證函數(shù)總結(jié)
相關(guān)文章
JavaScript實(shí)現(xiàn)動(dòng)態(tài)增加文件域表單
對于上傳多個(gè)文件,可以通過js來動(dòng)態(tài)生成文件域,下面是源代碼,收藏在這里,供以后直接使用,hoho!2009-02-02用JAVASCRIPT如何給<textarea></textarea&
用JAVASCRIPT如何給<textarea></textarea>賦值...2007-04-04javascript判斷單選框或復(fù)選框是否選中方法集錦
javascript判斷單選框或復(fù)選框是否選中方法集錦...2007-04-04javascript下阻止表單重復(fù)提交、防刷新、防后退
javascript下阻止表單重復(fù)提交、防刷新、防后退...2007-08-08