正则表达式,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('123456789@qq.com ');" />

 

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('111111111@.com');" />

 

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('111111111@.com');" />

 

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 字符串 ', 'abefg');" />

 

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');" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值