精华内容
下载资源
问答
  • js 正则使用方法

    2020-12-11 07:34:29
    test [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]匹配ftp地址的正则 代码如下:ftp://(.+?)/?的作用就是最小匹配,就是第一个/之前的内容
  • javascript正则用法

    2016-12-16 14:16:23
    正则表达式在JS中的应用一、定义 正则表达式是对字符串操作的一种逻辑公式。用事先定好的一些特定字符组成一个“规则字符串”,再用“规则字符串”对字符串进行过滤。 ECMAScript通过RegExp类型来支持正则表达式...

    正则表达式在JS中的应用

    一、定义

    正则表达式是对字符串操作的一种逻辑公式。用事先定好的一些特定字符组成一个“规则字符串”,再用“规则字符串”对字符串进行过滤。
    ECMAScript通过RegExp类型来支持正则表达式。
    它是对字符串执行模式匹配的强大工具

    二、写法

    pattern里面一个字符串,代表的是正则
    attributes为可选字符串,包含属性:’g’、’i’、’m’ 分别是用于指定全局匹配”g”、不区分大小写”i”、多行匹配”m”

    • 1、直接量的字符串语法:
      /pattern/attributes // /正则/正则属性, 例如在全局匹配”a”:/’a’/g
    • 2、RegExp对象的语法:
      var reg = new RegExp(pattern,attributes)// RegExp 对象规定在文本中检索的内容。

    三、方法:

    • 1、直接量的字符串用法:
      • search 检索与正则表达式相匹配的值。
        //stringObject.search(字符串或正则表达式)
        var str = 'How are you doing today?'; 
       console.log(str.search("a")); //4
       console.log(str.search(/a/g)); //4
    - match 找到一个或多个正则表达式的匹配。 
    
      //stringObject.match(字符串或正则表达式)
        var str = 'How are you doing today?'; 
       console.log(str.match("a")); //["a", index: 4, input: "How are you doing today?"] index是a的位置
       console.log(str.match(/[ ]/g)); //["o", "o", "o", "o"]
    - replace   替换与正则表达式匹配的子串。
    
      //stringObject.replace(字符串或正则表达式,要替换的内容)
        var str = 'How are you doing today?'; 
       console.log(str.replace(" ","")); //Howare you doing today?
       console.log(str.replace(/\w/i,'@')); //@ow are you doing today? 
    - split 把字符串分割为字符串数组。
    
     //stringObject.split(字符串或正则表达式,可指定返回的数组的最大长度)
        var str = 'How are you doing today?';
       console.log(str.split(" ")); //"How", "are", "you", "doing", "today?"]
       console.log(str.split(/\s/g)); //"How", "are", "you", "doing", "today?"]
    • 2、RegExp对象的用法:
      • test():检索字符串中的指定值。返回值是true或false。
    var str = 'How are you doing today?';
    var reg = new RegExp('a','g');
    console.log(reg.test(str)); //true
    - exec():检索字符串中的指定值,返回值是被找到的值,若没找到则返回null
    
    var str = 'How are you doing today?';
    var reg = new RegExp('a','g');
    console.log(reg.exec(str)); //true
    - compile():用于改变RegExp规则(改变和重新编译正则表达式)
    
    var str = 'How are you doing today?';
    var reg = new RegExp('a','g');
    console.log(str.replace(reg,'A')); //How Are you doing todAy?
    reg.compile('o','g'); //替换正则
    console.log(str.replace(reg,'O')); //HOw are yOu dOing tOday?

    四、元字符

    1、. :查找单个字符,除了换行和行结束符
    2、\w :查找单词字符、数字、“_”(即,字母、数字、下划线)
    \W :\w的取反
    3、\d :查找数字
    \D :\d的取反
    4、\s :查找空白字符(“”、‘\n’、‘\r’)
    5、\b :匹配单词边界
    \B :\b的取反
    6、\n :查找换行符
    7、\u : 匹配汉字([\n4e00-\u9fa5 ])
    8、^n:匹配任何开头为 n 的字符串。
    9、n$:匹配任何结尾为 n 的字符串。

    五、方括号(表示范围)

    1、[abc] :查找方括号之间的任何(单个)字符。
    2、[^abc] : 查找任何不在方括号之间的字符。
    3、[0-9] : 查找任何从0 到 9的数字。
    4、[a-z] :查找任何从小写 a 到 z的字符。
    5、[A-Z] :查找任何从大写 A 到 Z 的字符

    /[0-9A-Za-z_]/ : 相当于\w ;

    ^ /[^0-9A-Za-z_]/ è\W。

    六、分支(或):|

    七、量词

    1、n+ :匹配任何包含至少一个 n 的字符串。

    2、n*:匹配任何包含零个或多个 n 的字符串。

    3、n?:匹配任何包含零个或一个 n 的字符串。

    4、n{X}:匹配包含 X 个 n 的字符串。

    5、n{X,Y}:匹配包含 X ~ Y 之间 n 的字符串。

    6、n{X, }:匹配X个n字符串及以上

    八、其它

    1、匹配中文字符的正则表达式: /[\u4e00-\u9fa5]/g
    2、去掉首尾空格 reg = /^\s+|\s+$/g

    展开全文
  • js 正则用法-笔记

    2016-07-14 18:29:49
    创建正则表达式js是通过RegExp类型来支持正则表达式的,主要有2种方式来创建正则表达式: 以字面量的形式来定义 使用RegExp构造函数。 这次做的笔记主要是写字面量来表示,RegExp构造函数以后再补充。 字面量表示形...

    创建正则表达式

    js是通过RegExp类型来支持正则表达式的,主要有2种方式来创建正则表达式:

    1. 以字面量的形式来定义
    2. 使用RegExp构造函数。
      这次做的笔记主要是写字面量来表示,RegExp构造函数以后再补充。一般情况下字面量用的比较多,但是当正则需要传参数的时候,必须要用RegExp的写法(比如说在一个函数中,正则是一个传进来的参数)

    字面量表示

    形如:

    var express = /pattern/flags;

    其中pattern是正则表达式
    flags:g表示全局模式,即模式被应用于所有字符串;i表示不区分大小写;m表示多行模式。

    元字符

    特别注意:模式中使用的所有的元字符都必须转义。用\转义。
    元字符有:( { [ \ ^ $ | ? * + . ] } )
    例如:

    var str = /\[ab\]c/   //匹配第一个"[ab]c"

    捕获组/匹配子项

    匹配子项:小括号()(小括号还有另外一个意思,分组操作)

    可以把正则的整体叫做母亲,然后把左边第一个小括号里面的正则,叫做这个母亲的第一个子项(捕获组)。第二个就是第二个子项(捕获组)。。。。。。
    例如:

     var re = /(\d+)(-)/g;

    在这里”\d+”就是第一个捕获组,“-”是第2个捕获组

    重点区分{}的含义,以及一些特定的符号

    1.{} 量词

    {}在正则里面表示的是量词

    • {n,m}表示前面的字符最少出现n次,最多出现m次。
    • {n,}至少出现n次
    • {n}真好出现n次
    • + :其实是{1,}的简写
    • ? : {0,1},至多1次
    • * : {0,},至少0次

    2.() 匹配子项,或者是分组操作

    • 把正则的整体叫做(母亲),然后把左边第一个小括号里面的正则,叫做这个母亲的第一个子项(孩子)。第二个就是第二个子项。。。。。。

    3.[] 字符类

    • []在正则里面表示的是字符类,也就是一组类似的元素,[]中括号里面的整体代表一个字符。

    4.特定的一些符号

    • \s : 一个空格(包括Tab等空白符)
    • \S : 非空格
    • \d : 一个数字
    • \D : 非数字
    • \w : 一个字符 (字母,数字,下划线_)
    • \W : 非字符
    • \b :独立的部分,(起始,结束,空格),也就是匹配单词边界,注意在单词边界匹配的位置,单词字符后面或前面不与另一个单词字符直接相邻。请注意,匹配的单词边界并不包含在匹配中。换句话说,匹配的单词边界的长度为零。(不要与 [\b] 混淆。)
    • \B : 非独立部分,也就是非单词边界。匹配位置的上一个和下一个字符的类型是相同的:即必须同时是单词,或必须同时是非单词字符。字符串的开头和结尾处被视为非单词字符。
      例如:
    var str = 'one two'
    var re2 = /one\b/;
    alert(re2.test(str));

    /one\b/表示one后面不与另一个单词字符直接相邻

    • . : 匹配任意字符
      • : 表示一个区域范围(从小到大)
    • ^ : 如果在正则的最开始位置,代表起始的意思,如果是在[]表示排除
    • $ : 如果在正则的最后位置,代表结束的意思
    • | : 表示或者
    • \数字 : 表示重复子项:\1 重复的第一个子项;\2 重复的第二个子项.
      例如:
    var str = 'onesssgsdoso'
    var re2 = /(o)(s)\1/;
    alert(re2.test(str));

    /(o)(s)\1/ 这里\1就是表示o

    var str = '123231a443'
    var re2 = /([0-9])(a)\1/;
    alert(re2.test(str));
    
    //结果是false
    
    var str = '123231a143'
    var re2 = /([0-9])(a)\1/;
    alert(re2.test(str));
    //结果是true

    所以注意:子项是指匹配到的字符串。

    方法

    match()

    match:正则去匹配字符串,如果匹配成功,就返回匹配成功的数组;如果不成功,返回null;
    用法:字符串.match(正则)
    例如:

    var str = '12ss123s1d23632x';
    var re = /\d\d+/g;//全局模式g:全部查找
    alert(str.match(re));

    结果是[12,123,23632]
    注意:match()也可以用来匹配子项,匹配的子项放在返回数组的后几项,不过这个前提是不加g,加了g就不会返回子项了。
    例如:

    var str = 'sdfsdfsdfsddfs sd';
    var re = /(s)(d)/;
    alert(str.match(re));

    结果是[sd,s,d]

    但如果加了g

    var str = 'sdfsdfsdfsddfs sd';
    var re = /(s)(d)/g;
    alert(str.match(re));

    结果就是[sd,sd,sd,sd,sd]

    test()

    test:正则去匹配字符串,如果匹配成功,返回真,否则返回假;
    用法:正则.test(字符串)

    serch:正则去匹配字符串,如果成功,返回字符串中第一个匹配项的索引;如果没找到,则返回-1
    用法:字符串.search(正则)。

    注意这里只返回第一个匹配项,不管有没有g都是这样。

    replace()

    replace:正则去匹配字符串,匹配成功的字符去替换成新的字符串;
    用法:字符串.replace(正则,字符串);
    注意它的第二个参数可以是字符串,也可以是个回调函数:

    回调函数

    注意函数的参数(注意顺序):模式的匹配项,(第一个捕获组的匹配项,第2个捕获组的匹配,…),模式匹配项在字符串中的位置,原始的字符串。
    这个回调函数应该返回一个字符串,表示被替换的匹配项。
    例如:

    var str = '2016-7-14';
    var re1 = /(\d+)(-)/g;
    str = str.replace(re1,function($0,$1,$2){
        //第一个参数是母亲,第2个参数是第2个孩子、、、、
        alert($1);
        return $1 + '.'
    });

    这段代码中,$0就是2016-,7- ,而对应的$1是,2016,7,对应的$2是-,-

    exec() (待补充)

    展开全文
  • 常用js正则表达式 Javascript正则表达式实战手册

    千次阅读 多人点赞 2018-08-13 00:22:33
    我个人的习惯是,能通过查手册获取的东西绝不死记硬背,虽然大多数技术网站都搜罗了一堆Javascript正则表达式的用法,但我还是想整理一份更有实战意义的手册。说白了就是,如果以后需要用到正则表达式,直接过来复制...

    最近做了几个项目,发现正则表达式用得越来越多了。我个人的习惯是,能通过查手册获取的东西绝不死记硬背,虽然大多数技术网站都搜罗了一堆Javascript正则表达式的用法,但我还是想整理一份更有实战意义的手册。说白了就是,如果以后需要用到正则表达式,直接过来复制粘贴就行啦!我会尽量把排版做的漂亮一点,便于大家提高开发效率。前面是Javascript正则表达式的简明用法,实战内容请跳到最后一节。

     

    三个修饰符

    Javascript的正则表达式里有三个修饰符:igm

    加了i之后,正则匹配不再区分大小写(默认区分大小写):

    • var reg = /j/;
      reg.test('Javascript'); //结果为false
      var reg2 = /j/i;
      reg2.test('Javascript'); //结果为true

       

    javascript

    加了g之后,将执行全局匹配(默认匹配一次后停止):

    • var reg = /a/;
      'Javascript'.replace(reg,'e'); //结果为Jevascript
      var reg2 = /a/g;
      'Javascript'.replace(reg2,'e'); //结果为Jevescript

       

    javascript

    加了m之后,将执行多行匹配(默认只有一行):

    • var reg = /^s/;
      reg.test('Java\nscript'); //结果为false
      var reg2 = /^s/m;
      reg2.test('Java\nscript'); //结果为true

       

    javascript

    涉及正则表达式的方法

    很多人可能会混淆正则表达式的使用函数,这里整理了一些常用的方法

    1. 字符串后面接3种常用函数:match(reg)(返回匹配到的字符串)、replace(reg,'...')(替换内容)、search(reg)(返回匹配内容的开始位置)

    2. 正则表达式后面接2种常用函数:test(string)(返回是否匹配)、exec(string)(返回匹配到的字符串)

    正则表达式的声明

    共有两种声明方式,按照具体情况使用:

    var reg = /a/; // 普通声明方式,大多数情况下使用
    var reg2 = new RegExp('a','g'); // 字符串声明方式,部分情况特别有用

    JS正则表达式实战用法

    • 邮箱的JS正则表达式:
    • var mailReg = /^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    • 手机的JS正则表达式:
    • var phoneReg = /^1\d{10}$/;
    • 身份证的JS正则表达式:
      • var idCardReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;

         

    • 姓名(汉字)的JS正则表达式:
    • var nameReg = /^[\u4e00-\u9fa5]{2,4}$/; // 2-4位的汉字名字
    • 普通域名的JS正则表达式:
      
       
      • var urlReg = /^(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*([\?&]\w+=\w*)*$/; // https或http协议的url

         

    • 用户名的JS正则表达式:
      
       
      • var userNameReg = /^[A-Za-z0-9-_]*$/; // 用户名为数字英文下划线或短划线

         

    • QQ号的JS正则表达式:
      
       
      • var qqReg = /^[1-9][0-9]{4,}$/;

         

    • 邮编的JS正则表达式:
      
       
      • var mailReg = /^[1-9][0-9]{5}$/;

         

    • HTML标签的JS正则表达式:
      
       
      • var tagReg = /<[^>]+>/; //可以用来去掉html文本中的标签,得到纯文字

         

    • 日期的JS正则表达式:
      
       
      • var dateReg = /^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/; //YYYY-MM-dd格式,短线可以视情况替换

         

    • 时间的JS正则表达式:
      
       
      • var timeReg = /^([0-1]\d|2[0-3]):[0-5]\d:[0-5]\d$/; //HH:mm:ss格式,冒号可以视情况替换

         

    以上为一些常用的JS正则表达式。本文会不定期更新,如果有问题或想添加新的正则表达式请给我留言,谢谢大家。

    (全文完)

    本文链接:https://www.zhangyangjun.com/post/javascript-regular-expression-handbook.html,转载请注明出处!

    展开全文
  • 本文给大家介绍JS正则表达式比较常见用法,涉及到js正则表达式用法相关知识,感兴趣的朋友一起学习吧
  • javascript正则表达式用法: 代码如下:function checkreg(myreg,mytext) { if(myreg.test(mytext) { alert(“ok”); return true; } else { return false; } } //另一种写法 代码如下:function checkreg...
  • js正则方法使用

    2017-09-09 12:54:56
    js正则方法使用

    RegExp对象的方法:

    1.exec():该方法用于检索字符串中的正则表达式的匹配。
    返回包含第一个匹配项信息的数组。如果未找到匹配,返回 null。在数组中,第一项是与整个模式匹配的字符串,其他项是与模式中的捕获组匹配的字符串(如果模式中没有捕获组,则该数组只包含一项)。
    该数组具有额外的两个属性,index和input,index表示匹配项在字符串中的位置,input表示应用正则表达式的字符串。
    在模式中如果未设置全局标志(g),在同一个字符串上多次调用exec()将始终返回第一个匹配项的信息,而设置全局标志,每次调用exec()则会在字符串中继续查找新匹配项。

    1var myReg = /abc/;
    var str = "hgbabchgabc";
    var arr = myReg.exec(str)
    alert(arr);//abc(为一个数组对象,即["abc"])
    alert(arr[0]);//abc(为一个字符串)2var myReg = /aa(bb(cc)?)?/g;
    var str = "aabbcc";
    var arr = myReg.exec(str);
    alert(arr.index);//0
    alert(arr.input);//aabbcc
    alert(arr);//aabbcc,aabb,cc3:
    var myReg = /abc/g;//执行全局匹配
    var str = "hgbabchgabc";
    alert(myReg.lastIndex);//0
    alert(myReg.exec(str));//abc
    alert(myReg.lastIndex);//6
    alert(myReg.exec(str));//abc
    alert(myReg.lastIndex);//11
    alert(myReg.exec(str));//null
    alert(myReg.lastIndex);//0
    /*从lastIndex指定的位置开始检索字符串,找到匹配后lastIndex置于匹配文本最后一个字符的下一位置。
    当找不到匹配的文本时,lastIndex置为0。只有执行全局匹配是lastIndex才起作用。
    */

    2.test(): 检测是否包含匹配的文本,有返回true,无返回false。

    String对象的方法:

    1.search(): 返回相匹配的子串的起始位置,若无返回-1。
    search() 方法不执行全局匹配,它忽略标志 g。同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,只返回第一个匹配的位置。

    2.match(): 找到一个或多个正则表达式的匹配,返回存放匹配子串的数组。支持全局匹配。若未匹配返回null。

    例:
    var myReg = /abc/g;
    var str = "hgbabchgabc";
    alert(str.match(myReg));//abc,abc
    //即返回一个数组[abc, abc];

    3.replace(): 该方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

    例:
    var myReg = /abc/g;
    var str = "abczzabc";
    newStr = str.replace(myReg,"w");
    //replace方法并未对str本身进行修改。
    alert(newStr);//wzzw

    4.split(): 该方法用于把一个字符串分割成字符串数组。允许传入正则表达式。

    例:
    var str = "a22b";
    var arr = str.split(/[a-z]/);
    alert(arr);//,22,
    //可以理解为将字母换成','该数组为['',2,2,''];
    
    附:该方法和join()相反,join用于把数组中的所有元素放入一个字符串,
    可传入参数,用该参数将数组元素分割,形成新的字符串。
    
    例:
    var arr = [1,2,3];
    var str = arr.join("a");
    alert(str);//1a2a3
    
    展开全文
  • 主要为大家详细介绍了javascript正则replace的使用方法,感兴趣的朋友可以参考一下
  • js正则表达式使用,从网上找的,还比较有用,欢迎大家下载。
  • 正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下:测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个...
  • js正则

    2021-01-08 17:38:46
    对于新手而言,js正则显得格外复杂但是当你熟悉正则表达式的正确用法,你可能会拍手称赞:怎么会有这么好用的 匹配 / 修改 方法正则这么 那么接下面就来介绍一下正则表达式及其常用的几种方法。 先来介绍一下什么...
  • 主要介绍了JS正则表达式常见用法,结合实例形式分析了javascript元字符、分组符、修饰符、量词基本含义,并结合具体案例形式分析了javascript正则基本使用技巧,需要的朋友可以参考下
  • JS 正则表达式用法

    2014-03-20 10:33:43
    JS 正则表达式用法 发布时间:2010-08-03 11:03:55 来源:PHP100中文网 正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下: 测试字符串的
  • js正则表达式用法

    2012-02-14 23:38:30
    整数正则表达式,中文正则表达式,汉字正则表达式,手机正则表达式
  • js 正则表达式用法

    2014-11-25 17:57:01
    js 正则表达式用法 1. 正则表达式定义 两种方法 第一种是通过构造函数 如:var reg = new RegExp("[abc]"); 第二种是通过// 如:var reg = /[abc]/; 2. 正则表达式方法 test() 、exec() test(字符串...
  • JavaScript正则表达式的用法正则表达式是一种可以用于模式匹配和替换的强大工具,在很多语言中都可以应用。JavaScript对正则表达式提供了很好的支持, Javascript中有一个正则表达式对象RegExp。该对象提供了大量的...
  • 文章目录JavaScript正则表达式使用作者的话JavaScript 正则的使用RegExp 对象正则常用方法RegExp.prototype.exec()参数返回值使用例RegExp.prototype.test()参数返回值使用例String.prototype.search()参数返回值...
  • javascript正则表达式用法: function checkreg(myreg,mytext) { if(myreg.test(mytext) { alert("ok"); return true; } else { return false; } } //另一种写法 function checkre
  • 主要介绍了js正则表达式中exec用法,实例分析了javascript使用exec执行正则表达式的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • 最近在尝试实现一个js模板引擎,其中涉及到使用js解析html字符串的功能。因为我实现的这个模板不止是要能替换参数输出html字符串,还要能够解析出每一个dom元素的名称及参数啥的。html网上找到了一个叫作t7(源码地址...
  • 1、JavaScript正则表达式的用法   var pattern=new RegExt(""); var pattern=/cat/;    2、正则表达式的语法    pattern.test(data); 返回tru 或者false  pattern.exce(data);...
  • javascript正则表达式函数用法详解

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 136,572
精华内容 54,628
关键字:

js正则用法