`
nmskate
  • 浏览: 126086 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

正则表达式,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=" 测试 " onclick="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" onclick="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=" 测试 " onclick="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" onclick="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" onclick="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" onclick="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" onclick="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" onclick="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" onclick="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" onclick="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" onclick="isIP('127.0.0.1');" />

分享到:
评论

相关推荐

    JavaScript 表单验证正则表达式大全[推荐]

    具体和函数结合的使用方法,还请查看下篇文章 JavaScript 使用正则表达式进行表单验证的示例代码 代码如下:匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配...

    正则表达式

    JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法. 在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp...

    js用正则表达式来验证表单(比较齐全的资源)

    在学习网页中的表单验证,顺便学习下正则表达式 在网上找了后发现了一个比较齐全的资源,稍微进行了一下排版 代码如下: // 检查是否为有效的真实姓名,只能含有中文或大写的英文字母 function isValidTrueName...

    java 正则表达式

    利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('...

    JS常用正则表达式汇总

    这个收集的很全 ,几乎包含所有的表单验证的函数 以及一些总结 分享给大家

    常用的JavaScript验证正则表达式汇总

    下面都是我收集的一些比较常用的正则表达式,因为平常可能在表单验证的时候,用到的比较多。特发出来,让各位朋友共同使用。呵呵。 匹配中文字符的正则表达式: [u4e00-u9fa5]评注:匹配中文还真是个头疼的事,有了...

    JS基础系列之正则表达式

    ​ 正则表达式(regular expression)是一个描述字符模式的对象,ECMAScript的RegExp 类表示正则表达式,而String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数。 ​ 正则表达式用于对字符...

    JS正则表达式大全(整理详细且实用)

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在”\”后面的字符不按原来意义解释,如/b/匹配字符”b”,当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如”*”...

    html5入门到精通 视频教程

    JavaScript基础语法39_正则表达式概述 JavaScript基础语法40_正则表达式 JavaScript基础语法41_正则表达式 JavaScript基础语法42_正则表达式 JavaScript基础语法43_正则表达式 JavaScript基础语法44_正则表达式 ...

    Javascript的表单与验证-非空验证

    Javascript的表单验证-初识正则表达式 Javascript的表单验证-揭开正则表达式的面纱  JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。 表单提交前要检查数据的合法性 在要对表单里的...

    超级实用且不花哨的js代码大全.html

    利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,‘‘)" onbeforepaste="clipboardData.setData(‘text‘,clipboardData.get...

    jQuery 表单验证插件

    对中文、英文、数字、整数、实数、Email地址格式、基于HTTP协议的网址格式、电话号码格式、手机号码格式、货币格式、邮政编码、身份证号码、QQ号码、日期等等这些控制,别的表单校验控件是代码里写死的...

    JavaScript基础知识

    javascript基础知识,JavaScript的基本语法,函数和window对象,BOM编程,DOM高级编程,JavaScript和css的交互,表单基本验证技术,正则表达式和表单辅助特效

    jQuery formValidator表单验证插件示例源码

    对中文、英文、数字、整数、实数、Email地址格式、基于HTTP协议的网址格式、电话号码格式、手机号码格式、货币格式、邮政编码、身份证号码、QQ号码、日期等等这些控制,别的表单校验控件是代码里写死的...

    JavaScript从入门到精通(第2版)( (美)Steve Suehring)中文pdf

    第二篇为JavaScript对象,主要包括对象、核心对象、数组、正则表达式、对象模型和事件驱动、窗口与框架、文档对象、表单对象等内容;第三篇为高级技术,主要包括BOM中的其他对象、文档对象模型以及Ajax技术等内容。 ...

    web开发基础教程

    控制语句 第九章 Javascript_函数.ppt 第十章 Javascript_核心对象.ppt 第十一章 Javascript_正则表达式.ppt 第十二章 Javascript_事件处理.ppt 第十三章 Javascript_DOM模型.ppt 第十四章 JavaScript_Window对象....

    JavaScript详解(第2版)

     17.5 用正则表达式验证表单   17.5.1 检查空字段   17.5.2 检查邮政编码   17.5.3 检查字母数据   17.5.4 删除多余字符   17.5.5 有效社会安全号码验证   17.5.6 验证电话号码   17.5.7 ...

    JavaScript王者归来part.1 总数2

     10.1.2 JavaScript中的正则表达式   10.2 正则表达式的规则   10.2.1 直接量字符   10.2.2 字符类和布尔操作   10.2.3 重复   10.2.4 选择、分组和引用   10.2.5 指定匹配的位置   10.2.6 标志——...

    JavaScript核心技术 PDF扫描版

    4.4正则表达式与RegExp 4.5有专门用途的对象:Date和Math 4.6JavaScript数组 4.7关联数组:不是数组的数组 4.8习题 第5章函数 5.1定义函数:细数所有方式 5.2回调函数 5.3函数和递归 5.4嵌套函数、函数闭包和内存...

    JavaScript开发技术大全 - 光盘源代码.rar

    第02章 开始JavaScript 第03章 数据类型 第04章 直接量 第05章 变量、常量与保留字 第06章 表达式与运算符 ...第19章 正则表达式 第20章 Ajax介绍 第21章 Ajax与服务器 第22章 Ajax与XML 第23章 Ajax与CSS

Global site tag (gtag.js) - Google Analytics