|
|
JAVASCRIPT驗證表單方法大全,可用來驗查資料的正確性
0. js驗證radio是否選擇- <script language="javascript">
- function checkform(obj)
- {
- for(i=0;i<obj.oo.length;i++)
- if(obj.oo.checked==true)return true;
- alert("請選擇")
- return false;
- }
- </script>
- <form id="form1" name="form1" method="post"action="" >
- <input type="radio" name="oo"value="radiobutton" />
- <input type="radio" name="oo"value="radiobutton" />
- <input type="submit" name="Submit"value="提交" />
- </form>
複製代碼 1.長度限制- <script>
- function test()
- {
- if(document.a.b.value.length>50)
- {
- alert("不能超過50個字元!");
- document.a.b.focus();
- return false;
- }
- }
- </script>
- <form name=a >
- <textarea name="b" cols="40" wrap="VIRTUAL"rows="6"></textarea>
- <input type="submit" name="Submit"value="check">
- </form>
複製代碼 2. 只能是漢字- <input /oblog/value.replace(/[^\u4E00-\u9FA5]/g,'')">
複製代碼 3. 只能是英文- <script language=javascript>
- function onlyEng()
- {
- if(!(event.keyCode>=65&&event.keyCode<=90))
- event.returnvalue=false;
- }
- </script>
- <input >
複製代碼 4. 只能是數字- <script language=javascript>
- function onlyNum()
- {
- if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
- //考慮小鍵盤上的數位鍵
- event.returnvalue=false;
- }
- </script>
- <input >
複製代碼 5. 只能是英文字元和數位- <input /oblog/value.replace(/[\W]/g,"'')">
複製代碼 6. 驗證電子郵件格式- <SCRIPT LANGUAGE=javascript RUNAT=Server>
- 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("oh");
- }
- </SCRIPT>
- <input type=text onblur=isEmail(this.value)>
複製代碼 7. 遮罩關鍵字(這�媥B罩***和****)- <script language="javascript1.2">
- function test() {
- if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf("****") == 0)){
- alert("123");
- a.b.focus();
- return false;}
- }
- </script>
- <form name=a >
- <input type=text name=b>
- <input type="submit" name="Submit"value="check">
- </form>
複製代碼 8. 兩次輸入密碼是否相同- <FORM METHOD=POST ACTION="">
- <input type="password" id="input1">
- <input type="password" id="input2">
- <input type="button" value="test">
- </FORM>
- <script>
- function check()
- {
- with(document.all){
- if(input1.value!=input2.value)
- {
- alert("false")
- input1.value = "";
- input2.value = "";
- }
- else document.forms[0].submit();
- }
- }
- </script>
複製代碼
第二部分
2.1 表單項不能為空- <script language="javascript">
- <!--
- function CheckForm()
- {
- if (document.form.name.value.length == 0) {
- alert("請輸入您姓名!");
- document.form.name.focus();
- return false;
- }
- return true;
- }
- -->
- </script>
複製代碼 2.2 比較兩個表單項的值是否相同- <script language="javascript">
- <!--
- function CheckForm()
- if (document.form.PWD.value != document.form.PWD_Again.value) {
- alert("您兩次輸入的密碼不一樣!請重新輸入.");
- document.ADDUser.PWD.focus();
- return false;
- }
- return true;
- }
- -->
- </script>
複製代碼 2.3 表單項只能為數位和"_",用於電話/銀行帳號驗證上,可擴展到功能變數名稱註冊等- <script language="javascript">
- <!--
- function isNumber(String)
- {
- var Letters = "1234567890-"; //可以自己增加可輸入值
- var i;
- var c;
- if(String.charAt(0)=='-')
- return false;
- if(String.charAt(String.length - 1) == '-')
- return false;
- for(i = 0; i < String.length; i ++)
- {
- c = String.charAt(i);
- if (Letters.indexOf(c) < 0)
- return false;
- }
- return true;
- }
- function CheckForm()
- {
- if(! isNumber(document.form.TEL.value)) {
- alert("您的電話號碼不合法!");
- document.form.TEL.focus();
- return false;
- }
- return true;
- }
- -->
- </script>
複製代碼 2.4 表單項輸入數值/長度限定- <script language="javascript">
- <!--
- function CheckForm()
- {
- if (document.form.count.value > 100 || document.form.count.value < 1)
- {
- alert("輸入數值不能小於零大於100!");
- document.form.count.focus();
- return false;
- }
- if (document.form.MESSAGE.value.length<10)
- {
- alert("輸入文字小於10!");
- document.form.MESSAGE.focus();
- return false;
- }
- return true;
- }
- //-->
- </script>
複製代碼 2.5 中文/英文/數位/郵件位址合法性判斷- <SCRIPT LANGUAGE="javascript">
- <!--
- function isEnglish(name) //英文值檢測
- {
- if(name.length == 0)
- return false;
- for(i = 0; i < name.length; i++) {
- if(name.charCodeAt(i) > 128)
- return false;
- }
- return true;
- }
- function isChinese(name) //中文值檢測
- {
- if(name.length == 0)
- return false;
- for(i = 0; i < name.length; i++) {
- if(name.charCodeAt(i) > 128)
- return true;
- }
- return false;
- }
- function isMail(name) // E-mail值檢測
- {
- if(! isEnglish(name))
- return false;
- i = name.indexOf(" at ");
- j = name dot lastIndexOf(" at ");
- if(i == -1)
- return false;
- if(i != j)
- return false;
- if(i == name dot length)
- return false;
- return true;
- }
- function isNumber(name) //數值檢測
- {
- if(name.length == 0)
- return false;
- for(i = 0; i < name.length; i++) {
- if(name.charAt(i) < "0" || name.charAt(i) > "9")
- return false;
- }
- return true;
- }
- function CheckForm()
- {
- if(! isMail(form.Email.value)) {
- alert("您的電子郵件不合法!");
- form.Email.focus();
- return false;
- }
- if(! isEnglish(form.name.value)) {
- alert("英文名不合法!");
- form.name.focus();
- return false;
- }
- if(! isChinese(form.cnname.value)) {
- alert("中文名不合法!");
- form.cnname.focus();
- return false;
- }
- if(! isNumber(form.PublicZipCode.value)) {
- alert("郵遞區號不合法!");
- form.PublicZipCode.focus();
- return false;
- }
- return true;
- }
- //-->
- </SCRIPT>
複製代碼 2.6 限定表單項不能輸入的字元- <script language="javascript">
- <!--
- function contain(str,charset)// 字串包含測試函數
- {
- var i;
- for(i=0;i<charset.length;i++)
- if(str.indexOf(charset.charAt(i))>=0)
- return true;
- return false;
- }
- function CheckForm()
- {
- if ((contain(document.form.NAME.value, "%\(\)><")) || (contain(document.form.MESSAGE.value, "%\(\)><")))
- {
- alert("輸入了非法字元");
- document.form.NAME.focus();
- return false;
- }
- return true;
- }
- //-->
- </script>
複製代碼
函數PACK
1. 檢查一段字串是否全由數位組成
---------------------------------------- <script language="Javascript"><!--
- 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. 電子郵件格式驗證
---------------------------------------
//函數名: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.length== 0)
- return 0
- for (i=0;i<NUM.length;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<TEL.length;i++)
- {
- j=strTemp.indexOf(TEL.charAt(i));
- if (j==-1)
- {
- //說明有字元不合法
- return 0;
- }
- }
- //說明合法
- return 1;
- }
複製代碼 7. 判斷輸入是否為中文的函數
---------------------------------------- function ischinese(s){
- var ret=true;
- for(var i=0;i<s.length;i++)
- ret=ret && (s.charCodeAt(i)>=10000);
- return ret;
- }
複製代碼 8. 綜合的判斷用戶輸入的合法性的函數
---------------------------------------
<script language="javascript">
//限制輸入字元的位元數開始
//m是用戶輸入,n是要限制的位數- 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. 判斷用戶名是否為數位字母下滑線
---------------------------------------- function notchinese(str){
- var reg=/[^A-Za-z0-9_]/g
- if (reg.test(str)){
- return (false);
- }else{
- return(true); }
- }
複製代碼 11. form文本域的通用校驗函數
---------------------------------------
作用:檢測所有必須非空的input文本,比如姓名,帳號,郵件地址等等。
該校驗現在只針對文本域,如果要針對form�堶悸漕銗L域物件,可以改變判斷條件。
使用方法:在要檢測的文本域中加入title文字。文字是在提示資訊,你要提示給用戶的該欄位的中文名。比如要檢測用戶名
html如下<input name="txt_1" title="姓名">,當然,最好用視覺化工具比如dreamweaver什麼的來編輯域。
如果要檢測數位類型資料的話,再把域的id統一為sz.
javascript判斷日期類型比較麻煩,所以就沒有做日期類型校驗的程式了- < form>
- function dovalidate()
- {
- fm=document.forms[0] //只檢測一個form,如果是多個可以改變判斷條件
- for(i=0;i<fm.length;i++)
- {
- //檢測判斷條件,根據類型不同可以修改
- if(fm.tagName.toUpperCase()=="INPUT"&&fm.type.toUpperCase()=="TEXT" && (fm.title!=""))
-
- if(fm.value="/blog/="")//
- {
- str_warn1=fm.title+"不能為空!";
- alert(str_warn1);
- fm.focus();
- returnfalse;
- }
- if(fm.id.toUpperCase()=="SZ")//數字校驗
- {
- if(isNaN(fm.value))
- { str_warn2=fm.title+"格式不對";
- alert(str_warn2);
- fm.focus();
- return false;
- }
- }
- }
- return true;
- }
複製代碼
表單提交驗證類
2.1 表單項不能為空- <script language="javascript">
- <!--
- function CheckForm()
- {
- if (document.form.name.value.length == 0) {
- alert("請輸入您姓名!");
- document.form.name.focus();
- return false;
- }
- return true;
- }
- -->
- </script>
複製代碼 2.2 比較兩個表單項的值是否相同- <script language="javascript">
- <!--
- function CheckForm()
- if (document.form.PWD.value != document.form.PWD_Again.value) {
- alert("您兩次輸入的密碼不一樣!請重新輸入.");
- document.ADDUser.PWD.focus();
- return false;
- }
- return true;
- }
- -->
- </script>
複製代碼 2.3 表單項只能為數位和"_",用於電話/銀行帳號驗證上,可擴展到功能變數名稱註冊等- <script language="javascript">
- <!--
- function isNumber(String)
- {
- var Letters = "1234567890-"; //可以自己增加可輸入值
- var i;
- var c;
- if(String.charAt( 0 )=='-')
- return false;
- if( String.charAt( String.length - 1 ) == '-' )
- return false;
- for( i = 0; i < String.length; i ++ )
- {
- c = String.charAt( i );
- if (Letters.indexOf( c ) < 0)
- return false;
- }
- return true;
- }
- function CheckForm()
- {
- if(! isNumber(document.form.TEL.value)) {
- alert("您的電話號碼不合法!");
- document.form.TEL.focus();
- return false;
- }
- return true;
- }
- -->
- </script>
複製代碼 2.4 表單項輸入數值/長度限定- <script language="javascript">
- <!--
- function CheckForm()
- {
- if (document.form.count.value > 100 || document.form.count.value < 1)
- {
- alert("輸入數值不能小於零大於100!");
- document.form.count.focus();
- return false;
- }
- if (document.form.MESSAGE.value.length<10)
- {
- alert("輸入文字小於10!");
- document.form.MESSAGE.focus();
- return false;
- }
- return true;
- }
- //-->
- </script>
複製代碼 2.5 中文/英文/數位/郵件位址合法性判斷- <SCRIPT LANGUAGE="javascript">
- <!--
- function isEnglish(name) //英文值檢測
- {
- if(name.length == 0)
- return false;
- for(i = 0; i < name.length; i++) {
- if(name.charCodeAt(i) > 128)
- return false;
- }
- return true;
- }
- function isChinese(name) //中文值檢測
- {
- if(name.length == 0)
- return false;
- for(i = 0; i < name.length; i++) {
- if(name.charCodeAt(i) > 128)
- return true;
- }
- return false;
- }
- function isMail(name) // E-mail值檢測
- {
- if(! isEnglish(name))
- return false;
- i = name.indexOf(" at ");
- j = name dot lastIndexOf(" at ");
- if(i == -1)
- return false;
- if(i != j)
- return false;
- if(i == name dot length)
- return false;
- return true;
- }
- function isNumber(name) //數值檢測
- {
- if(name.length == 0)
- return false;
- for(i = 0; i < name.length; i++) {
- if(name.charAt(i) < "0" || name.charAt(i) > "9")
- return false;
- }
- return true;
- }
- function CheckForm()
- {
- if(! isMail(form.Email.value)) {
- alert("您的電子郵件不合法!");
- form.Email.focus();
- return false;
- }
- if(! isEnglish(form.name.value)) {
- alert("英文名不合法!");
- form.name.focus();
- return false;
- }
- if(! isChinese(form.cnname.value)) {
- alert("中文名不合法!");
- form.cnname.focus();
- return false;
- }
- if(! isNumber(form.PublicZipCode.value)) {
- alert("郵遞區號不合法!");
- form.PublicZipCode.focus();
- return false;
- }
- return true;
- }
- //-->
- </SCRIPT>
複製代碼 2.6 限定表單項不能輸入的字元- <script language="javascript">
- <!--
- function contain(str,charset)// 字串包含測試函數
- {
- var i;
- for(i=0;i<charset.length;i++)
- if(str.indexOf(charset.charAt(i))>=0)
- return true;
- return false;
- }
- function CheckForm()
- {
- if ((contain(document.form.NAME.value, "%\(\)><")) ||(contain(document.form.MESSAGE.value, "%\(\)><")))
- {
- alert("輸入了非法字元");
- document.form.NAME.focus();
- return false;
- }
- return true;
- }
- //-->
- </script>
複製代碼 |
|