JS正则表达式匹配检测各种数值类型(数字验证)

JavaScript06

JS正则表达式匹配检测各种数值类型(数字验证),第1张

验证数字的正则表达式集

验证数字:^[0-9]*$

验证n位的数字:^\d{n}$

验证至少n位数字:^\d{n,}$

验证m-n位的数字:^\d{m,n}$

验证零和非零开头的数字:^(0|[1-9][0-9]*)$

验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$

验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$

验证非零的正整数:^\+?[1-9][0-9]*$

验证非零的负整数:^\-[1-9][0-9]*$

验证非负整数(正整数

+

0)

^\d+$

验证非正整数(负整数

+

0)

^((-\d+)|(0+))$

验证长度为3的字符:^.{3}$

验证由26个英文字母组成的字符串:^[A-Za-z]+$

验证由26个大写英文字母组成的字符串:^[A-Z]+$

验证由26个小写英文字母组成的字符串:^[a-z]+$

验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$

验证由数字、26个英文字母或者下划线组成的字符串:^\w+$

验证用户密码:^[a-zA-Z]\w{5,17}$

正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。

验证是否含有

^%&',=?$\"

等字符:[^%&',=?$\x22]+

验证汉字:^[\u4e00-\u9fa5],{0,}$

验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$

;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$

验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。

验证身份证号(15位或18位数字):^\d{15}|\d{}18$

验证一年的12个月:^(0?[1-9]|1[0-2])$

正确格式为:“01”-“09”和“1”“12”

验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$

正确格式为:01、09和1、31。

整数:^-?\d+$

非负浮点数(正浮点数

+

0):^\d+(\.\d+)?$

正浮点数

^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

非正浮点数(负浮点数

+

0)

^((-\d+(\.\d+)?)|(0+(\.0+)?))$

负浮点数

^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$

浮点数

^(-?\d+)(\.\d+)?$

以上所述是小编给大家介绍的JS正则表达式匹配检测各种数值类型(数字验证),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

手机号的正则表达式为“^1(3|4|5|7|8)\d{9}$”,解释如下

“^1”表示以1开头,“(3|4|5|7|8)”表示第二位可能是3/4/5/7/8等的任意一个,在加上后面的\d表示数字[0-9]的9位,总共加起来11位结束。

代码如下:

function checkPhone(){

var phone = document.getElementById('phone').value

if(!(/^1(3|4|5|7|8)\d{9}$/.test(phone))){

alert("手机号码有误,请重新输入")

return false

}

}

js正则表达式常用元素符如下:

扩展资料:

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

参考资料:

官网正则表达式API-Creating a regular expression

菜鸟教程-JavaScript 正则表达式

        正则表达式,又叫规则表达式,英文名Regular Expression,本质是操作字符串

         1、模式匹配    表单验证

         2、文本检索    搜索

         3、替换        过滤

         简单,方便,性能高

        var reg=new RegExp('规则','模式')  通过构造函数创造

        var reg=/规则/模式                通过字面量创建

       i  忽略大小写

       g  全局

       m  多行

       注:不分前后顺序

      str.match(正则)  返回数组 没有返回 null

      str.search(正则)  返回下标  没有返回-1

      str.replace(正则,替换成谁)  返回替换后的字符串

      str.replace(正则,function(s){

                       s 符合正则条件的字符串

       })

       \d  数字 /[0-9]/

       \s  空格

       \w  /[0-9a-zA-Z_]/ 单词

       \D  非数字  /[^0-9]/

       \S  非空白

       \W  非单词  /[^0-9a-zA-Z_]/

.(点)    代表任意

         \.  代表.

         \\  代表\

         \\\\  代表\\

          \/    代表/

          只要有特殊意义的都要转译

          +  {1,m}  若干个  最少1个最多不限

          ? {0,1}  可有可无

          *  {0,m}  可以没有,多了不限

          {n}  正好n个

         {n,m}  最少n个 最多m个

         {n,}  最少n个,最多不限

         {,m} × 没有这种写法

        ^  行首

         注:如果^单独使用,代表字符串行首,配合m使用会识别段落

        $  行尾

        [] 中括号

             1、[]里面的东西都是或的形式

             2、[]里面和放范围

             3、[^]  不代表行首,代表除去里面的范围

             4、其他特殊符号代表本身

         1、test()  一般配合^ &

               功能:用于检测是否于正则匹配。

               返回:布尔值,true匹配,false不匹配

               语法:reg.test(检测的内容)

          2 exec()

               功能:用于检测是否于正则匹配。

               返回:数组, 不匹配返回null

               语法:reg.test(检测的内容)

               再做验证之前:验证分两种,一种强校验,一种弱校验

            (1)验证手机号                                      /1[23457]\d{9}/

            (2)验证座机号      区号-座机号            /(0[1-9]\d-)?[1-9]\d{7}/

            (3)验证qq                                            /[1-9]\d{4,11}/

            (4)实现一个trim函数 去掉收尾空格      /^\s+|\s+$/g

            (5)中文                                                /[\u4e00-\u9fa5]/

            (6)验证年龄       18-100                       /^1[89]|[2-9]\d|100$/

            (7)邮箱:     [email protected]           /^\w{5,12}@[a-z0-9]{2,8}\.com$/

            (8)  过滤html                                            /<[^>]+>/g

        1、分组    ab+ abbbb  (ab)+

        2、匹配子级

              配合replace使用  str.replace(reg,function(s,a,b){

               s是 整体

               a是第一个括号的项

               b是第二个括号的项

          })

        3、优选级  ^(1[89]|[2-9]\d|100)$

        4、重复的子项

              abbb          /(a)(b)\2+/

今天先给大家总结到这儿,后续还会有补充