天天看點

正規表達式,javascript表單驗證函數

一部分轉自:http://www.cnblogs.com/hongten/archive/2011/03/21/1990121.html

一部分其他地方自己收集

這裡所有的javascript函數都經過實際測試。

索引:

1.  驗證radio 是否選擇

2.  檢測輸入長度限制

3.  3.1.1 鍵盤能輸入隻能是數字

3.1.2 鍵盤能輸入隻能是數字

3.2. 鍵盤不能輸入數字

4.  4.1 驗證郵箱格式

4.2 驗證郵箱格式

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

6.  中文/ 英文/ 數位/ 合法性判斷

7.  7.1 檢查一段字串是否全由數位組成

7.2 檢查一段字串是否全由數位組成 

8.  判斷是否全是字元

9.  判斷是否含有漢字

10. 判斷輸入是否為中文的函數

11. 11.1 判斷使用者名是否為數位字母下滑線  

11.2 判斷字元串是否為數值

12. 12.1 檢查電話号碼

12.2 檢查電話号碼

13. 驗證email, 傳回true & false

14. 檢查是否為有效的真實姓名,隻能含有中文或大寫的英文字母

15. 快速比較兩個字元串的不同字元

16. 檢查年齡是否符合

17. 檢查密碼隻允許由ascii 組成

18. 檢查輸入值是否符合整數格式

19. 檢查輸入字元串是否為空或者全部都是空格

20. 校驗IP 位址的格式

1. 驗證 radio 是否選擇

         <script type="text/javascript ">

                   function isRadioSelected(obj )

                   {

                            for (var i = 0; i < obj.oo.length; i ++)

                            {

                                     if(obj.oo[i].checked == true)

                                     {

                                               return true;

                                     }

                            }

                            alert(" 請選擇 ");

                            return false;

                   }

         </script>

         <form id="form1" name="form1" method="post" action="#" onsubmit ="return isRadioSelected(this);">

                   <input type="radio" name="oo " value="radiobutton " />

                   <input type="radio" name="oo " value="radiobutton " />

                   <input type="submit" name="Submit" value=" 送出 " />

         </form>

2. 檢測輸入長度限制

         <script type="text/javascript ">

                   function checkValueLength()

                   {

                            if(document.a.b.value.length > 50)

                            {

                                     alert(" 不能超過 50 個字元! ");

                                     document.a.b.focus();

                                     return false;

                            }

                   }

         </script>

         <form name="a" onsubmit ="return checkValueLength();">

                   <textarea name="b" cols ="40" rows="6"></textarea>

                   <input type="submit" name="Submit" />

         </form>

3.1.1 鍵盤能輸入隻能是數字

         <script type="text/javascript ">

                   function onlyNumbers(e)

                   {

                            var keynum ;

                            var keychar ;

                            var numcheck ;

                            if(window.event) // IE

                            {

                                     keynum = e.keyCode;

                            }

                            else if(e.which) // Netscape /Firefox /Opera

                            {

                                     keynum = e.which;

                            }

                            keychar = String.fromCharCode(keynum );

                            numcheck = /\d/;  // \d 代表數字 0-9

                            return numcheck.test(keychar );

                   }

         </script>

         <input type="text" onkeypress ="return onlyNumbers(event);" />

3.1.2 鍵盤能輸入隻能是數字

         <script type="text/javascript ">

                   function check(obj ) {

                            if(event.keyCode == 13 || event.keyCode == 46) {

                                     return true;

                            }

                            if(event.keyCode < 48 || event.keyCode >57) {

                                     return false;

                            } else {

                                     return true;

                            }

                   }

         </script>

         <input type="text" name="textfield " onkeypress ="javascript:return check(this);" />

3.2. 鍵盤不能輸入數字

         <script type="text/javascript ">

                   function noNumbers(e)

                   {

                            var keynum ;

                            var keychar ;

                            var numcheck ;

                            if(window.event) // IE

                            {

                                     keynum = e.keyCode;

                            }

                            else if(e.which) // Netscape /Firefox /Opera

                            {

                                     keynum = e.which;

                            }

                            keychar = String.fromCharCode(keynum );

                            numcheck = /\d/;

                            return !numcheck.test(keychar );

                   }

         </script>

         <input type="text" onkeypress ="return noNumbers(event);" />

4.1 驗證郵箱格式

         <script type="text/javascript ">

         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(" 格式錯誤 ");

                   }

         }

         </script>

         <input type="text" onblur ="isEmail(this.value)" />

4.2 驗證郵箱格式

         <script type="text/javascript ">

                   function emailCheck(emailStr) {

                            var emailPat=/^(.+)@(.+)$/;

                            var matchArray=emailStr.match(emailPat);

                            if (matchArray==null) {

                                     alert(" 電子郵件位址必須包括 ( @ 和 . )");

                                     return false;

                            }

                            return true;

                   }

         </script>

         <input type="button" name="Submit" value="check" onclick ="emailCheck('[email protected] ');" />

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

         <script type="text/javascript ">

         function test() {

                   // 這裡測試是否包含 "***","****"

                   if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf("****") == 0)){

                            alert(" 包含字元串 ");

                            a.b.focus();

                            return false;

                   }

         }

         </script>

         <input type="text" name="b" />

         <input type="button" name="Submit" value="check" onclick ="test();" />

6. 中文 / 英文 / 數位 / 合法性判斷

         <script type="text/javascript ">

                   function isEnglish(str )      // 英文值檢測

                   {

                            if(str.length == 0) return false;

                            for(var i = 0; i < str.length; i ++)

                            {

                                     if(str.charCodeAt(i) > 128)

                                     {

                                               return false;

                                     }

                            }

                            return true;

                   }

                   function isChinese(str )      // 中文值檢測

                   {

                            if(str.length  == 0) return false;

                            for(var i = 0; i < str.length; i++)

                            {

                                     if(str.charCodeAt(i) <= 128)

                                     {

                                               return false;

                                     }

                            }

                            return true;

                   }

                   function isNumber(str )      // 數值檢測

                   { 

                            if(str.length == 0) return false;

                            for(var i = 0; i < str.length; i++)

                            { 

                                     if(str.charAt(i) < "0" || str.charAt(i) > "9")

                                     {

                                               return false;

                                     }

                            }

                            return true;

                   }

         </script>

         <input type="button" name="Submit" value="check" onclick ="isChinese(' 測試 ');" />

7.1 檢查一段字串是否全由數位組成      

         <script type="text/javascript ">         

                   function checkNum(str ) {

                            return str.match(/\D/) == null;

                   }

                   alert(checkNum("1232142141"));

                   alert(checkNum("123214214a1"));

         </script>

7.2 檢查一段字串是否全由數位組成      

         <script type="text/javascript ">

                   function isNumber(oNum) {

                            if(!oNum) return false;

                            var strP=/^\d+(\.\d+)?$/;

                            if(!strP.test(oNum)) return false;

                            try{

                                     if(parseFloat(oNum) != oNum) return false;

                            } catch (ex ) {

                                     return false;

                            }

                            return true;

                   }

         </script>

         <input type="button" value=" 按鈕 " onclick ="isNumber('3223a2');"></input>

8. 判斷是否全是字元

         <script type="text/javascript ">         

         function checkAllChar(str ) {

                   if (/[^\x00-\xff ]/g.test(str )) {

                            alert(" 含有漢字 ");

                   } else {

                            alert(" 全是字元 ");

                   }

         }

         </script>

         <input type="button" name="Submit" value="check" onclick ="checkAllChar('faafdfdsa2431243fda');" />

9. 判斷是否含有漢字

         <script type="text/javascript ">         

                   function checkHasChn(str ) {

                            if (escape(str ).indexOf("%u") != -1) {

                                     alert(" 含有漢字 ");

                            } else {

                                     alert(" 全是字元 ");

                            }

                   }

         </script>

         <input type="button" name="Submit" value="check" onclick ="checkHasChn('faafdfdsa 漢字 2431243fda');" />

10. 判斷輸入是否為中文的函數   

         <script type="text/javascript ">         

                   function ischinese (s) {

                            var re t= true;

                            for(var i=0;i<s.length;i++)

                            {

                                     ret = ret && (s.charCodeAt(i)>=10000);

                            }

                            return ret ;

                   }

         </script>

         <input type="button" name="Submit" value="check" onclick ="ischinese (' 漢字 ');" />

11.1 判斷使用者名是否為數位字母下滑線   

         <script type="text/javascript ">         

                   function checkUserName(str ) {

                            var reg = /[^A-Za -z0-9_]/g;

                            if (reg.test(str )) {

                                     return false;

                            } else {

                                     return true;

                            }

                   }

         </script>

         <input type="button" name="Submit" value="check" onclick ="checkUserName('fdafdafdasfa_s');" />

11.2 判斷字元串是否為數值

         <script type="text/javascript">

                   function regIsNumber(fData)

                   {

                       var reg = new RegExp("^[-]?[0-9]+[\.]?[0-9]+$");

                       return reg.test(fData);

                   }

         </script>

         <input type="button" value=" 測試 " οnclick="regIsNumber('2323.00');" />

12.1 檢查電話号碼

         <script type="text/javascript">         

                   function isTel(str) {

                       var reg=/^([0-9]|[\-])+$/g ;

                       if(str.length < 7 || str.length > 18) {

                                return false;

                       } else {

                                return reg.exec(str);

                       }

                   }

         </script>

         <input type="button" name="Submit" value="check" οnclick="isTel('11111111111');" />

12.2 檢查電話号碼

         <script type="text/javascript">

         function regIsPhone(fData)

         {

                   var reg = /^(\+86)?(1[0-9]{10})$/;

                   return reg.test(fData);

         }

         </script>

         <input type="button" value=" 測試 " οnclick="regIsPhone('11111111111');" />

13. 驗證 email, 傳回 true & false

         <script type="text/javascript">          

                   function isEmail(str) {

                       var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;

                       return reg.test(str);

                   }

         </script>

         <input type="button" name="Submit" value="check" οnclick="isEmail('[email protected]');" />

14. 檢查是否為有效的真實姓名,隻能含有中文或大寫的英文字母

         <script type="text/javascript">         

                   function isEmail(str) {

                       var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;

                       return reg.test(str);

                   }

         </script>

         <input type="button" name="Submit" value="check" οnclick="isEmail('[email protected]');" />

15. 快速比較兩個字元串的不同字元

         <script type="text/javascript">

                   function compareStrs(str1, str2) {

                            var re = new RegExp("(?=.*?)[^" + str1 +"](?=.*?)|(?=.*?)[^" + str2 + "](?=.*?)", "g");

                            var arr;

                            while ((arr = re.exec(str1 + str2)) != null)

                            {

                                     document.write(arr);

                            }

                   }

         </script>

         <input type="button" name="Submit" value="check" οnclick="compareStrs('abc 字元串 ', 'abe 字 fg');" />

16. 檢查年齡是否符合

         <script type="text/javascript">

                   function isAge(str){

                            var mydate = new Date();

                            var now = mydate.getFullYear();

                            if (str < now - 60 || str > now - 18) {

                                     alert("false");

                                     return false;

                       }

                            alert("true");

                            return true;

                   }

         </script>

         <input type="button" name="Submit" value="check" οnclick="isAge('1990');" />

17. 檢查密碼隻允許由 ascii 組成

         <script type="text/javascript">

                   function checkValidPasswd(str) {

                            var reg = /^[x00-x7f]+$/;

                            if (! reg.test(str)) {

                                     return false;

                            }

                            if (str.length < 6 || str.length > 16) {

                        return false;

                            }

                            return true;

                   }

         </script>

         <input type="button" name="Submit" value="check" οnclick="checkValidPasswd('19fda90');" />

18. 檢查輸入值是否符合整數格式

         <script type="text/javascript">

                   function isInteger(str) {

                            var regu = /^[-]{0,1}[0-9]{1,}$/;

                            return regu.test(str);

                   }

         </script>

         <input type="button" name="Submit" value="check" οnclick="isInteger('1990');" />

19. 檢查輸入字元串是否為空或者全部都是空格

         <script type="text/javascript">

                   function isNull(str){

                            if (str == "") return true;

                            var regu = "^[ ]+$";

                            var re = new RegExp(regu);

                            alert(re.test(str));

                            return re.test(str);

                   }

         </script>

         <input type="button" name="Submit" value="check" οnclick="isNull('   ');" />

20. 校驗 IP 位址的格式

         <script type="text/javascript">

                   function isIP(strIP) {

                            if (strIP.length == 0)

                            {

                                     return false;

                            }

                            var re = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g;

                            if(re.test(strIP))

                            {

                                     if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256)

                                     {

                                               return true;

                                     }

                            }

                            return false;

                   }

         </script>

         <input type="button" name="Submit" value="check" οnclick="isIP('127.0.0.1');" />

繼續閱讀