zoukankan      html  css  js  c++  java
  • 快乐的JS正则表达式(三)

      ?的用途。

      小任务:匹配一段网址如var str = "http://www.123.com/";注意http也可以是https

    var str = "http://i.cnblogs.com/";
    var reg = /https?://[a-z]+.[a-z0-9]+.[a-z]+//;
    console.log(reg.exec(str)); //["http://i.cnblogs.com/", index: 0, input: "http://i.cnblogs.com/"]

      ?表示前面的那个字符0个或者1个因为/在js中有另外的含义所以我使用了转义字符

      为了更深入的理解转义字符,在来一个例子。

      var str = "Array[5]";匹配这段代码中的括号以及数字,数字可以是0-9中任意的一个,也许你会这样写

    var str = "Array[5]";
    var reg = /[0-9]/;
    console.log(reg.exec(str)); //["5", index: 6, input: "Array[5]"]

      但是却没有匹配到[],因为[]在正则中有特殊含义,所以我们需要对它进行转义。

    var str = "Array[5]";
    var reg = /[[0-9]]/;
    console.log(reg.exec(str)); //["[5]", index: 5, input: "Array[5]"]

      第一个[]进行了转义,第二个[]正常使用,因为我们只需要匹配一个[]

      其实匹配数字或者字母并不一定需要使用a-z,我们也可以使用d,w  d表示任意一个数字,w表示任意一个字母

    var str = "Object";
    var reg = /w+/;
    console.log(reg.exec(str)); //["Object", index: 0, input: "Object"]
    var str = "112113";
    var reg = /d+/;
    console.log(reg.exec(str)); //var str = "112113";

      匹配邮箱小案例

    var str = "html5@123.com.cn";
    var reg = /[dw]+@[dw]+(.[w]+)+/;
    console.log(reg.exec(str)); //["html5@123.com.cn", ".cn", index: 0, input: "html5@123.com.cn"]

      [dw]+用来匹配html5,[dw]+用来匹配123,(.[w]+)+用来匹配.com.cn只所以用()扩起来是因为我们需要把里面的内容当做一个整体,因为.com后还可以用多个

      从后面的几节开始,我们将会进入到实战篇。

    本节完。

  • 相关阅读:
    office 所有后缀对应的 content-type
    Vue 拖拽组件 vuedraggable 和 vue-dragging
    vue实现word,pdf文件的导出功能
    vue浏览器全屏实现
    对于js中事件冒泡的理解分析
    一个服务端的登录拦截
    ES6兼容ie9, flex兼容ie9
    webpack报错
    vue项目的一个package.json
    vue项目的构建过程
  • 原文地址:https://www.cnblogs.com/pssp/p/5274596.html
Copyright © 2011-2022 走看看