本文目录一览:

【总结】js正则表达式及验证函数

用户名或昵称 : ^[/u4e00-/u9fa5A-Za-z0-9-_]*$——只能中英文,数字,下划线,减号

用户密码: ^[a-zA-Z]/w{5,17}$ 正确格式为——以字母开头,长度在6-18之间,只能包含字符、数字和下划线。

汉字 :^[/u4e00-/u9fa5],{0,}$

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

                     ^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(/.[a-zA-Z0-9_-]+)+$

IP地址 :^(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])(/.(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])){3}$

日期 格式是否为YYYY-MM-DD:^/d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]/d|3[0-1])$/;

时间 格式是否为hh:mm:ss:^([0-1]//d|2[0-3]):[0-5]//d:[0-5]//d$

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

                            ^http:////[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-_~`@[/]/':+!]*([^/"/"])*$

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

                        ^((/(/d{2,3}/))|(/d{3}/-))?(/(0/d{2,3}/)|0/d{2,3}-)?[1-9]/d{6,7}(/-/d{1,4})?$

手机号码 :^0?(13[0-9]|15[012356789]|18[0236789]|14[57])[0-9]{8}$:打长途时一般要在手机号码前加0。

身份证号 (15位或18位数字):^/d{15}(/d{2}[A-Za-z0-9])?$

QQ号码 : /^[1-9]/d{4,8}$/

验证是否含有 ^%',;=?$/" 等字符:[^%',;=?$/x22]+

验证一年的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。

验证数字:^[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+$

整数:^-?/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+)?$

双精度:^[-/+]?/d+(/./d+)?$

//判断输入的字符是否为中文

function IsChinese(){

    var str = document.getElementById('str').value.trim();

    if(str.length!=0){

        reg=/^[/u0391-/uFFE5]+$/;

        if(!reg.test(str)){

            alert("对不起,您输入的字符串类型格式不正确!");

        }

    }

}

//判断输入的数字不大于某个特定的数字

function MaxValue(){

    var val = document.getElementById('str').value.trim();

    if(str.length!=0){

        reg=/^[-+]?/d*$/;

        if(!reg.test(str)){//判断是否为数字类型

            if(valparseInt('123')){//“123”为自己设定的最大值

                alert('对不起,您输入的数字超出范围');

            }

        }

    }

}

//为上面提供各个JS验证方法提供.trim()属性

String.prototype.trim=function(){

    return this.replace(/(^/s*)|(/s*$)/g, "");

}

var patterms = newObject();

//验证IP

patterms.ip = /^(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])(/.(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])){3}$/;

//验证EMAIL

patterms.email = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(/.[a-zA-Z0-9_-]+)+$/;

//验证函数

functionverify(str,pat){

    var thePat = patterms[pat];

    if(thePat.test(str)){

        return true;

    }else{

        return false;

    }

}

//测试alert(verify("asidycom@163.com","email")+","+verify("192.168.1.1","ip")+","+verify("192.168","ip"));

本文摘自: js正则表达式验证大全

JS中正则表达式只有3种匹配模式(没有单行模式)详解

JS正则表达式对象模式仅有如下三种:

g

(全文查找出现的所有

pattern)

i

(忽略大小写)

m

(多行查找)

即没有单行匹配模式,Singleline(单行模式):更改.的含义,使它与每一个字符匹配(包括换行符/n)。

如java中

String

regex

=

"(?s)(?=interface).{0,500}(shutdown)";---------"."表示在一行。

但可以采用[/d/D]或[/w/W]或[/s/S]或(.|/s)*?来解决不能换行问题

以上这篇JS中正则表达式只有3种匹配模式(没有单行模式)详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

JS正则表达式基础认知

        正则表达式,又叫规则表达式,英文名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)邮箱:     asdsad@163.com           /^/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+/

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

js 正则表达式 //-是什么意思

这个正则可以匹配各种 url,比如当前页面的url

具体解释:

最左最右的 / 先忽略 是正则的界定符,表示正则的开始结束

(/w+) 表示长度大于1的字符串 (/w的含义自己搜一下)

: 比较单纯就是表示 :

//// 这个表示 // 因为 / 跟上述界定符长得一样会导致程序懵逼,所以前面加了 / 来转义

([/w.]+) 表示长度大于1 由/w和 .(点) 组成的字符串

// 同上

(/S*) 除空白符号之外的的任意字符任意长度

用 () 括起来表示要在代码里捕获这里面匹配的内容

你问的问题比较基础,建议先自学一下正则。推荐下面的教程

学习正则不要急于求成,耐心看完+多实践

js如何正则验证密码

可以是这样的,必须包含字母和数字的组合,可以使用特殊字符,长度在5-20之间,应该符合你的要求:

/^(?=.*/d)(?=.*[a-zA-Z]).{5,20}$/

js 正则验证不能含有中文与特殊字符

varmyReg = /^[a-zA-Z0-9_]{0,}$/;

if(!myReg.test(input.val())) {

  $.validation.tip(false, input, "用户名不能含有中文或特殊字符");

  return;

}

js通过正则表达式限制input输入框只能输入英文字母和数字,不能输入中文。

input onkeyup="value=value.replace(/[^/w/.//]/ig,'')"

文本框中仅允许输入英文字母,小数点,数字,禁止输入中文字符以及其他特殊字符!

input type="text" name="username" onkeyup="value=value.replace(/[^/w/.//]/ig,'')" /

输入大于0的正整数

input onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(//D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(//D/g,'')}"

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:

正则表达式在线生成工具:

var temp = 'abcdefg Fw:123456 Fw:789.1011';

temp =temp.indexOf(‘.’); //匹配某个字符位置

alert(temp);��var temp = 'dsd-5555'

temp =temp.replace('-',''); //匹配某个字符必替换

alert(temp);