本文是Javascript表單驗(yàn)證大全第三部分,講了檢查是否為數(shù)字字符串、是否為字符、是否含有漢字、郵箱格式、數(shù)字格式、電話號(hào)碼格式、輸入是否為中文函數(shù)、綜合判斷輸入的合法性、密碼是否輸入一致、用戶名是否為數(shù)字字母下劃線、form文本域等十一個(gè)方面的驗(yàn)證。
1. 檢查一段字符串是否全由數(shù)字組成:
﹤ script language="Java script "﹥ ﹤!--function checkNum(str){return str.match(/\D/)==null} alert(checkNum("1232142141")) alert(checkNum("123214214a1")) // --﹥﹤/ script ﹥ |
2. 怎么判斷是否是字符:
if (/[^\x00-\xff]/g.test(s)) alert("含有漢字"); else alert("全是字符"); |
3. 怎么判斷是否含有漢字:
if (escape(str).indexOf("%u")!=-1) alert("含有漢字"); else alert("全是字符"); |
4. 郵箱格式驗(yàn)證:
//函數(shù)名:chkemail //功能介紹:檢查是否為Email Address //參數(shù)說明:要檢查的字符串 //返回值:0:不是 1:是 function chkemail(a) { var i=a.length; var temp = a.indexOf('@'); var tempd = a.indexOf('.'); if (temp ﹥ 1) { if ((i-temp) ﹥ 3){ if ((i-tempd)﹥0){ return 1; } } } return 0; }
|
5. 數(shù)字格式驗(yàn)證:
//函數(shù)名:fucCheckNUM //功能介紹:檢查是否為數(shù)字 //參數(shù)說明:要檢查的數(shù)字 //返回值:1為是數(shù)字,0為不是數(shù)字 function fucCheckNUM(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) { //說明有字符不是數(shù)字 return 0; } } //說明是數(shù)字 return 1; }
|
6. 電話號(hào)碼格式驗(yàn)證:
//函數(shù)名:fucCheckTEL //功能介紹:檢查是否為電話號(hào)碼 //參數(shù)說明:要檢查的字符串 //返回值:1為是合法,0為不合法 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) { //說明有字符不合法 return 0; } } //說明合法 return 1; }
|
7. 判斷輸入是否為中文的函數(shù):
function ischinese(s){ var ret=true; for(var i=0;i﹤s.length;i++) ret=ret && (s.charCodeAt(i)﹥=10000); return ret; } |
8. 綜合的判斷用戶輸入的合法性的函數(shù):
﹤ script language="java script "﹥ //限制輸入字符的位數(shù)開始 //m是用戶輸入,n是要限制的位數(shù) function issmall(m,n) { if ((m﹤n) && (m﹥0)) { return(false); } else {return(true);} }
|
9. 判斷密碼是否輸入一致:
function issame(str1,str2) { if (str1==str2) {return(true);} else {return(false);} }
|
10. 判斷用戶名是否為數(shù)字字母下滑線:
function notchinese(str){ var reg=/[^A-Za-z0-9_]/g if (reg.test(str)){ return (false); }else{ return(true); } } |
11. form文本域的通用校驗(yàn)函數(shù):
作用:檢測(cè)所有必須非空的input文本,比如姓名,賬號(hào),郵件地址等等。
該校驗(yàn)現(xiàn)在只針對(duì)文本域,如果要針對(duì)form里面的其他域?qū)ο?,可以改變判斷條件。
使用方法:在要檢測(cè)的文本域中加入title文字。文字是在提示信息,
你要提示給用戶的該字段的中文名。比如要檢測(cè)用戶名
html如下﹤input name="txt_1" title="姓名"﹥,當(dāng)然,***用可視化工具
比如dreamweaver什么的來編輯域。
如果要檢測(cè)數(shù)字類型數(shù)據(jù)的話,再把域的id統(tǒng)一為sz.
java script 判斷日期類型比較麻煩,所以就沒有做日期類型校驗(yàn)的程序了。
程序比較草,只是提供一個(gè)思路。拋磚引玉! :)
函數(shù)調(diào)用方法:
﹤ form onsubmit="return dovalidate()"﹥function dovalidate() { fm=document.forms[0] //只檢測(cè)一個(gè)form,如果是多個(gè)可以改變判斷條件 for(i=0;i﹤fm.length;i++) { //檢測(cè)判斷條件,根據(jù)類型不同可以修改 if(fm[i].tagName.toUpperCase()=="INPUT" &&fm[i].type. toUpperCase()=="TEXT" && (fm[i].title!="")) if(fm[i].value="/blog/="")// { str_warn1=fm[i].title+"不能為空!"; alert(str_warn1); fm[i].focus(); return false; } if(fm[i].id.toUpperCase()=="SZ")//數(shù)字校驗(yàn) { if(isNaN(fm[i].value)) { str_warn2=fm[i].title+"格式不對(duì)"; alert(str_warn2); fm[i].focus(); return false; } } } return true; } |
【編輯推薦】
- Javascript表單驗(yàn)證大全(第二部分)
- Javascript表單驗(yàn)證大全(***部分)
- 如何通過JavaScript動(dòng)態(tài)改變圖片大小
- 非常全面的實(shí)用JavaScript開發(fā)工具列表
- 6月編程語言排行榜:JavaScript轉(zhuǎn)正在即