精华内容
下载资源
问答
  • 常用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,转载请注明出处!

    展开全文
  • 这篇文章主要介绍了 javascript正则表达式中分组的相关资料包括捕获性分组和非捕获 性分组需要的朋友可以参考下 分组在正则中用的还是比较广的 我所理解的分组 就是一对括号)每一对括号 就 代表了一个分组 分组可以...
  • 这篇文章主要介绍了JavaScript正则替换HTML标签功能,结合完整实例形式详细分析了javascript正则替换字符串操作相关实现技巧,需要的朋友可以参考下本文实例讲述了JavaScript正则替换HTML标签功能。分享给大家供大家...

    这篇文章主要介绍了JavaScript正则替换HTML标签功能,结合完整实例形式详细分析了javascript正则替换字符串操作相关实现技巧,需要的朋友可以参考下

    本文实例讲述了JavaScript正则替换HTML标签功能。分享给大家供大家参考,具体如下:

    1、说明

    获取HTML字符串(包含标签),通过正则表达式替换HTML标签,输出替换后的字符串

    2、实现JavaScript代码function deleteTag()

    {

    var regx = /]*>|]*>/gm;

    var tagStr = $("#ul_li").html();

    alert("替换之前的字符串:" + tagStr);

    var result = tagStr.replace(regx,"");

    alert("替换之后的字符串:" + result);

    }

    3、运行结果

    (1)初始化时

    21df7bf215ffe9e1165c6b870544a979.png

    (2)单击按钮后

    12b916bef8b75694ad1105f41c94999a.png

    (3)单击“确定”后

    e44ae013731d1430c8c48ff521fdbe6f.png

    4、完整实例:

    JavaScript替换HTML标签

    function deleteTag()

    {

    var regx = /]*>|]*>/gm;

    var tagStr = $("#ul_li").html();

    alert("替换之前的字符串:" + tagStr);

    var result = tagStr.replace(regx,"");

    alert("替换之后的字符串:" + result);

    }

    • 桃树
    • 梨树
    • 樟树
    • 枫树
    • 松树
    展开全文
  • js正则

    2021-01-08 17:38:46
    说起js正则表达式,我们或多或少有一些了解。对于新手而言,js正则显得格外复杂但是当你熟悉正则表达式的正确用法,你可能会拍手称赞:怎么会有这么好用的 匹配 / 修改 方法?正则这么 那么接下面就来介绍一下正则...
  • javascript正则

    2015-09-25 14:03:39
    javascript正则,邮箱,手机,身份证等等。 便于查找
  • 最近在尝试实现一个js模板引擎,其中涉及到使用js解析html字符串的功能。因为我实现的这个模板不止是要能替换参数输出html字符串,还要能够解析出每一个dom元素的名称及参数啥的。html网上找到了一个叫作t7(源码地址...

    最近在尝试实现一个js模板引擎,其中涉及到使用js解析html字符串的功能。因为我实现的这个模板不止是要能替换参数输出html字符串,还要能够解析出每一个dom元素的名称及参数啥的。html

    网上找到了一个叫作t7(源码地址)的模板。它的解析方式是逐个遍历每一个字符,而后检测是否遇到了""来判断当前是否遍历到标签内了。我大概测试了下逐个遍历字符,主要是发现字符不少时,在IE11(以及用IE11开启的IE8-10模式)下遍历速度较慢。git

    通过一些尝试以后,最终仍是选择了用正则表达式实现。代码以下:github

    测试文本

    测试文本

    测试文本

    var html = document.querySelector("#tmpl1").innerHTML;

    html = html.replace(//g, ''); //去除html注释

    html = html.replace(/>\s+([^\s$1

    var pattern = /([^>]*)(/]*(\/*)>)([^

    matchArr,

    start = Date.now();

    while ((matchArr = pattern.exec(html))) {

    var textBefore = matchArr[1], //获取排在标签前的文本

    elem = matchArr[2], //获取整个开标签或闭标签

    elemName = matchArr[3], //获取标签名

    closeSign = matchArr[4], //判断是否为自闭合标签标记

    textAfter = matchArr[5]; //获取排在标签后的文本

    matchArr.forEach(function (o, i) {

    if (i > 0 && o !== "") {

    console.log(o); //输出各部分

    }

    }

    }

    console.log(Date.now() - start);

    按照这个方法,若是要获取html参数的话,得在循环中再使用正则从标签中单独获取了。速度大概测了下还算挺快的,不过本人不是特擅长正则,应该还能够优化。但愿对你们有用,有问题欢迎帮我指出^_^正则表达式

    展开全文
  • JS正则表达式一条龙讲解,从原理和语法到JS正则、ES6正则扩展,最后再到正则实践思路
  • JavaScript正则表达式总结 --- 常用的JavaScript正则表达式需求总结 正则表达式的整理思路原理是一样的,但是不同的语言是有差别的,java和JavaScript中的正则表达式会有些差别。 未完待续。。。 2、JavaScript...

    JavaScript正则表达式总结 --- 常用的JavaScript正则表达式需求总结

    正则表达式的整理思路原理是一样的,但是不同的语言是有差别的,java和JavaScript中的正则表达式会有些差别。


    待续。。。

    2、JavaScript中的正则表达式判断【举例】:

      
    /**
     * JavaScript中的正则表达的判断
     */
    var search = $.trim($("#searchInput").val()); 
    if (mayBeAnOrPn(search)) {      $("#searchExpression").val(MY_GLOBAL.getAnPnSearchField() + "+=" + search + "%");
    else {
         // 。。。
    }
    /**
     * 猜测检索的内容是否是an或者pn
     * @param search
     * @return Boolean
     */
    function mayBeAnOrPn(search) {
        var reg = /^[a-zA-z]{2}\d{5,}/;
        return reg.test(search);
    }
    这是个例子:

      
    /**
     * 把高亮的标签去掉
     */
    function unWrapHighlight(content) {
        if (!content) return content;
        return content.replace(/<font style=\'color:red\'>/g"").replace(/<\/font>/g"");
    }
    这是个例子。

    思维导图:


    -------------------------------------
    未完待续。。。

    展开全文
  • javascript正则表达式

    2012-09-13 23:09:59
    javascript正则表达式常用规则,js正则的助手,用正则的必备手册!
  • javaScript正则

    2013-04-20 20:48:08
    这篇文档主要讲述javaSccript Regex基础,如何创建正则表达式,如何使用正则
  • js正则表达式 以https://开头。空格,换行结尾,能够提取字符串中多个符合的部分
  • 主要介绍了JavaScript正则表达式,详细深入的了解JavaScript正则表达式,从而更熟练掌握JavaScript正则表达式,感兴趣的小伙伴们可以参考一下
  • js 正则

    2007-11-10 12:15:14
    javascript正则表达式
  • 这篇文章主要介绍了JS正则获取HTML元素的方法,结合实例形式分析了JS针对页面HTML元素正则操作相关技巧与注意事项,需要的朋友可以参考下本文实例讲述了JS正则获取HTML元素的方法。分享给大家供大家参考,具体如下:...
  • 本文给大家介绍使用javascript正则表达式过滤双引号,代码非常简单,具有参考借鉴价值,对js 正则表达式 双引号相关知识感兴趣的朋友快来看看吧
  • js正则表达式

    2017-01-23 17:08:30
    js正则表达式
  • 主要介绍了JS正则表达式常见用法,结合实例形式分析了javascript元字符、分组符、修饰符、量词基本含义,并结合具体案例形式分析了javascript正则基本使用技巧,需要的朋友可以参考下
  • JS正则表达式

    2014-12-31 11:38:50
    JS正则表达式,规范完整的JS正则表达,详细说明JS正则表达式构建原理,使用方法,包含一些常用的正则案例。
  • JavaScript正则表达式

    2021-01-08 09:48:47
    JavaScript正则表达式 一、认识正则表达式 1、正则表达式是描述字符模式的对象,正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。 2、String和RegExp都定义了使用正则表达式进行强大...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 247,675
精华内容 99,070
关键字:

JS正则