首頁  >  文章  >  web前端  >  JavaScript表單驗證大全

JavaScript表單驗證大全

高洛峰
高洛峰原創
2016-11-26 10:11:451163瀏覽

<script><br/>function test()<br/>{<br/>if(document.a.b.value.length>50)<br/>{<br/>alert("不能超過50個字!");<br/>document.a.b.b.fo); <br/>}<br/>}<br/></script>





2. 只能是漢字

3. 只能是英文

<script><p><br/>3. 只能是英文<br/><br/><script><br/>function onon ()<br/>{<br/>if(!(event.keyCode>=65&&event.keyCode<=90))event.returnvalue=false;<p>}</script>


4. 只能是數字
4.
<script><br/>function onlyNum()<br/>{<br/>if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))))<br/>/考慮小鍵盤上的數字鍵</script>

event.returnvalue=false;

}

5. 只能是英文字元和數字

('text',clipboardData.getData('text').replace(/[^d]/g,''))">


6 . 驗證信箱格式

}


7. 屏蔽關鍵字(這裡屏蔽***和****)

<script><br/>function test() {<br/> if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){<br/>alert(":)");<br/>a.b. focus();<br/>return false;}<br/>}<br/></script>


8.兩次輸入密碼是否相同






<script><br/>function check()<br/>{<br/>with(document.all) {<br/>if(input1.value!=input2.value)<br/>{<br/>alert("false")<br/>input1.value = "";<br/>input2.value = "";<br/>}<br/>else document.subforms[0]. ();<br/>}}<p></script>

夠了吧:)

屏蔽右鍵很酷

oncontextmenu="return false"

加在body

<script><p><!--<br/>function CheckForm()<br/>{<br/>if (document.form.name.value.length == 0) {<br/>alert("請輸入您姓名!");<br/>document. form.name.focus();<br/>return false;<br/>}<br/>return true;<br/>}<br/>--><br/></script>
2.2 比較兩個表單項目的值是否相同

<script></script>

<script><p><. -<br/>function CheckForm()<br/>if (document.form.PWD.value != document.form.PWD_Again.value) {<br/>alert("您兩次輸入的密碼不一樣!請重新輸入.");<br/>document.ADDUser.PWD.focus();<br/>return false;<br/>}<br/>return true;<br/>}<br/>--><br/></script>
2.3 表單項只能為數字和" _",用於電話/銀行帳號驗證上,可擴展到網域註冊等

<script><p><!--<br/>function isNumber(String)<br/>{<br/>var Letters = "1234567890-"; //可以自己增加可輸入值<br/>var i;<br/>var c;<br/>if(String.charAt( 0 )=='-')<br/>return false;<br/>if( String.charAt( String.length - 1 ) == '-' )<br/> return false;<br/>for( i = 0; i < String.length; i ++ )<br/>{<br/>c = String.charAt( i );<br/>if (Letters.indexOf( c ) < 0)<br/>return false;<br/>} <br/>return true;<br/>}<br/>function CheckForm()<br/>{<br/>if(! isNumber(document.form.TEL.value)) {<br/>alert("您的電話號碼不合法!");<br/>document.form.TEL. focus();<br/>return false;<br/>}<br/>return true;<br/>}<br/>--><br/></script>

2.4 表單單項輸入數值/長度

<script><p>2.4 表格單項輸入數值/長度<br/><br/><script><br/>2.4 )<br/>{<br/>if (document.form.count.value > 100 || document.form.count.value < 1)<br/>{<br/>alert("輸入數值不能小於零大於100!");<br/>document.form.count .focus();<br/>return false;<br/>}<br/>if (document.form.MESSAGE.value.length<10)<br/>{<br/>alert("輸入文字小於10!");<br/>document.form.MESSAGE.focus() ;<br/>return false;<br/>}<br/>return true;<br/>}<br/>//--></script>🎜

2.5 中文/英文/數字/郵件地址合法性判斷

<script><br/><!--<br/>function isEnglish(name) //英文值偵測<br/>{<br/>if(name.length == 0)<br/>return false; <br/>for(i = 0; i < name.length; i++) {<br/>if(name.charCodeAt(i) > 128)<br/>return false;<br/>}<br/>return true;<br/>}<br/>function 中文值 中文值偵測<br/>{<br/>if(name.length == 0)<br/>return false;<br/>for(i = 0; i < name.length; i++) {<br/>if(name.charCodeAt(i) > 128)<br/>return true; }<br/>return false;<br/>}<br/>function isMail(name) // E-mail值偵測<br/>{<br/>if(! isEnglish(name))<br/>return false;<br/>i = name.indexOf(" at ");<br/>return false;<br/>i = name.indexOf(" at ");<br/>j = name dot lastIndexOf(" at ");<br/>if(i == -1)<br/>return false;<br/>if(i != j)<br/>return false;<br/>if(i == name dot length)<br/>return false;<br/>if(i == name dot length)<br/>return false;<br/>if(i == name dot length)<br/>return falturnse; true;<br/>}<br/>function isNumber(name) //數值偵測<br/>{<br/>if(name.length == 0)<br/>return false;<br/>for(i = 0; i < name.length; i++) {<br/>if(name .charAt(i) < "0" || name.charAt(i) > "9")<br/>return false;<br/>}<br/>return true;<br/>}<br/>function CheckForm()<br/>{<br/>if(! isMail(form.Emailis(form). .value)) {<br/>alert("您的電子郵件不合法!");<br/>form.Email.focus();<br/>return false;<br/>}<br/>if(! isEnglish(form.name.value)) {<br/>alert ("英文名稱不合法!");<br/>form.name.focus();<br/>return false;<br/>}<br/>if(! isChinese(form.cnname.value)) {<br/>alert("中文名稱不合法! ");<br/>form.cnname.focus();<br/>return false;<br/>}<br/>if(! isNumber(form.PublicZipCode.value)) {<br/>alert("郵遞區號不合法!");<br/>form.PublicZipCode.focus ();<br/>return false;<br/>}</script>

return true;

}

//-->



2.6 限定表單項目不能輸入的字元

<script><br/>2.6 限定表單項目不能輸入的字元<br/><br/><script><br/><!--tain(f str,charset)// 字串包含測試函式<br/>{<br/>var i;<br/>for(i=0;i<charset.length;i++)<br/>if(str.indexOf(charset.charAt(i))>=0) </script>

return true;

return false;
}
function CheckForm()
{
if ((contain(document.form.NAME.value, "%()>
()>{
alert("輸入了非法字元");
document.form.NAME.focus();

return false;

}
return true; }

//-->



1. 檢查一段字串是否全由數字組成   
------------------------ ---------------


<script><!--      <br/>function checkNum(str){return str.match(/D/)==null}      <br/>alert(checkNum(checkNum "1232142141"))      <br/>alert(checkNum("123214214a1"))      <br/>--------------- ------------------------   <br/>if (/[^x00-xff]/g.test(s)) alert("含漢字"); <br/>else alert("全是字符");   <br/>     <br/>3. 如何判斷是否含有漢字   <br/>----------------------------- ----------   </script>

if (escape(str).indexOf("%u")!=-1) alert("含有漢字");      

else alert("全是字元");     
else alert("全是字元");   
4. 信箱格式驗證
---------------------------------------   
//函數名稱:chkemail
//功能介紹:檢查是否為Email Address
//參數說明:要檢查的字串
//回傳值: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. 數位格式驗證
--------------- ------------------------   
//函數名稱:fucCheckNUM
//功能介紹:檢查是否為數字
//參數說明:要檢查的數字
//回傳值:1為是數字,0為不是數字
function fucCheckNUM(NUM)
{
var i,j,strTemp;
strTemp="0123456789";
if ( NUM.lengstrTemp=0)
return 0
for (i=0;i{
j=strTemp.indexOf(NUM.charAt(i));
if (j==-1)
{
//說明有字元不是數字
return 0;
}
}
//說明是數字

return 1;🎜}🎜

6. 電話號碼格式驗證
---------------------------------------   
//函式名稱:fucCheckTEL
//功能介紹:檢查是否為電話號碼
//參數說明:要檢查的字串
//傳回值:1為合法,0為不合法
function fucCheckTEL(TEL)
{
var i,j,strTemp;
strTemp="0123456789-()# ";
for (i=0;i{
j=strTemp.indexOf(TEL.charAt(i));
if (j==-1)
{
//說明有字元不合法
return 0;
}
}
//說明合法 www.2cto.com
return 1;
}

7. 是否輸入為中文的函數
---------------------------------------   
function ischinese(s) {
var ret=true;
for(var i=0;iret=ret && (s.charCodeAt(i)>=10000);
return ret;
}

8.綜合的判斷使用者輸入的合法性的函數
---------------------------------------
<script><br/>//限制輸入字元的位數開始<br/>//m是使用者輸入,n是要限制的位數<br/>function issmall(m,n)<br/>{<br/>if ((m<n) && (m >0))<br/>{<br/>return(false);<br/>}<br/>else<br/>{return(true);}<br/>}</script>

9.判斷密碼是否輸入一致
-------------- -------------------------   
function issame(str1,str2)
{
if (str1==str2)
{return(true); }
else
{return(false);}
}

10. 判斷使用者名稱是否為數字字母下滑線
----------------------- ----------------   
function notchinese(str){
var reg=/[^A-Za-z0-9_]/g
if (reg.test(str)) {
return (false);
}else{
return(true); }
}

11. form文字領域的通用校驗函數
----------------- ----------------------   
作用:偵測所有必須非空的input文本,例如姓名,帳號,郵件地址等等。
該校驗現在只針對文字域,如果要針對form裡面的其他域對象,可以改變判斷條件。

使用方法:在要偵測的文字領域中加入title文字。文字是在提示訊息,你要提示給使用者的該欄位的中文名。例如要偵測

使用者名稱
html如下,當然,最好用視覺化工具例如dreamweaver什麼的來編輯網域。
如果要檢測數字類型資料的話,再把域的id統一為sz.
javascript判斷日期類型比較麻煩,所以就沒有做日期類型校驗的程序了.高手可以補充。

程序比較草,只是提供一個思路。拋磚引玉! :)
哦,對了,函數呼叫方法:

function dovalidate()
{
fm=document.forms[0] //只偵測一個form,如果是多個可以改變判斷條件
for( i=0;i{
//偵測判斷條件,依型別不同可以修改
if(fm[i].tagName.toUpperCase()=="INPUT" &&fm[i].type .toUpperCase()=="TEXT" && (fm[i].title!=""))

      if(fm[i].value="/blog/="")//
  [i].title+"不能空!";
      alert(str_warn1);
       fm[i].focus();    if(fm[i].id.toUpperCase()==" SZ")//數位校驗
      {
               if(isNaN(fm[i].value) ;
            alert(str_warn2);
            fm[i]. focus();
                return false;
            

2 >表單提交驗證類別


2.1 表單項目不能為空白

<script><br/><!--<br/>function CheckForm()</script>

{

if (document.form.name.value.length == 0) {
alert("請輸入您姓名!");

document.form.name.focus();

return false;
}

return true;

}
-->


2.2 比較兩個表單項目的值是否相同

<script><br/><!--<br/>function CheckForm()<br/>if (document.form.PWD.value != document.form.PWD_Again.value) {<br/>alert("您兩次輸入的密碼不一樣!請重新輸入輸入.");<br/>document.ADDUser.PWD.focus();<br/>return false;<br/>}<br/>return true;<br/>}<br/>--><br/></script>

2.3 表單項只能為數字和"_" ,用於電話/銀行帳號驗證上,可擴展到網域註冊等

<script><br/><!--<br/>function isNumber(String)<br/>{<br/>var Letters = "1234567890-"; //可以自行增加可輸入值<br/>var i;<br/>var c;<br/>if(String.charAt( 0 )=='-')<br/>return false;<br/>if( String.charAt( String.length - 1 ) == '-' )<br/>return false ;<br/>for( i = 0; i < String.length; i ++ )<br/>{<br/>c = String.charAt( i );<br/>if (Letters.indexOf( c ) < 0)<br/>return false;<br/>}<br/>return}<br/>return true;<br/>}<br/>function CheckForm()<br/>{<br/>if(! isNumber(document.form.TEL.value)) {<br/>alert("您的電話號碼不合法!");<br/>document.form.TEL.focus( );<br/>return false;<br/>}<br/>return true;<br/>}<br/>--></script>


2.4 表單項輸入數值/長度限定


<script><br/>2.4 表格單項輸入數值/長度限定<br/><br/><script><br/><!-- {<br/>if (document.form.count.value > 100 || document.form.count.value < 1)<br/>{<br/>alert("輸入數值不能小於零大於100!");<br/>document.form.count.focus ();<br/>return false;<br/>}<br/>if (document.form.MESSAGE.value.length<10)<br/>{<br/>alert("輸入文字小於10!");<br/>document.form.MESSAGE.focus();<br/> return false;<br/>}<br/>return true;<br/>}</script>

//-->

2.5 中文/英文/數字/郵件地址合法性判斷

<script><p><!--<br/><!--<br/> (name) //英文值偵測<br/>{<br/>if(name.length == 0)<br/>return false;<br/>for(i = 0; i < name.length; i++) {<br/>if(name.charCodeAt(i) > 128)<br/>return false;<br/>}return true;<p>}<br/><br/>function isChinese(name) //中文值偵測<br/>{<br/>if(name.length == 0)return f <br/>f; < name.length; i++) {<br/>if(name.charCodeAt(i) > 128)<br/>return true;<br/>}<br/>return false;}<p><br/>function isMail(name) // E-mail值偵測值偵測(! isEnglish(name))<br/>return false;<br/>i = name.indexOf(" at ");<br/>j = name dot lastIndexOf(" at ");<br/>if(i == -1)<br/>return false;<br/>if (i != j)<br/>return false;<br/>if(i == name dot length)<br/>return false;<br/>return true;<br/>}<br/>function isNumber(name) //數值偵測<p>}<br/><br/>function isNumber(name) //數值偵測<br/>}<br/> = 0)<br/>return false;<br/>for(i = 0; i < name.length; i++) {<br/>if(name.charAt(i) < "0" || name.charAt(i) > "9")<br/> return false;<br/>}return true;<p>}<br/><br/>function CheckForm()<br/>{<br/>if(! isMail(form.Email.value)) {<br/>alert("您的電子郵件不合法! ");<br/>form.Email.focus();<br/>return false;<br/>}<br/>if(! isEnglish(form.name.value)) {<br/>alert("英文名稱不合法!");<br/>form.name.focus ();<br/>return false;<br/>}<br/>if(! isChinese(form.cnname.value)) {<br/>alert("中文名稱不合法!");<br/>form.cnname.focus();<br/>return false;<br/>} <br/>if(! isNumber(form.PublicZipCode.value)) {<br/>alert("郵遞區號不合法!");<br/>form.PublicZipCode.focus();<br/>return false;<br/>}<br/>return true;<br/>return false;}<p>return true; --></script>


2.6 限定表單項目不能輸入的字元

<script><br/><!--<br/><br/>function contain(str,charset)// 字串包含測試函數<br/>{<br/>var i; <br/>for(i=0;i<charset.length;i++)<br/>if(str.indexOf(charset.charAt(i))>=0)</script>

return true;

return false;
}

function CheckForm()

}

function CheckForm {
if ((contain(document.form.NAME.value, "%()>
()> {
alert("輸入了非法字元");
document.form.NAME.focus();
return false;

}

return true;
}

//-->🎜🎜🎜🎜🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn