zoukankan      html  css  js  c++  java
  • js正则表达式匹配斜杠 网址 url等

    项目中有个需求,需要从url中截取ID。需要在前台用js匹配截取,所以就百度一下,发现都没有说清楚,所以这里就总结下。

    正则表达式如下:

    var epId=0; //工厂企业ID
    
    var urlIndex = /.*(/gongchang/geli)$/; //工厂 格力电器
    var urlCommon = /.*/Shop/([0-9]*$)/;//正常店铺    店铺Shop后为店铺ID
    
    var linkAddress  = "http://www.baidu.com/Shop/2541";
    //var linkAddress = "http://www.baidu.com/gongchang/geli";
    
    if (linkAddress != null && $.trim(linkAddress) != "") {
    //如果是工厂
    if (urlIndex.test(linkAddress)) {
    // alert("a");
    var matchArr = linkAddress.match(urlIndex);
    if (matchArr != null && matchArr.length >= 2 && matchArr[1] == "/gongchang/geli") {
    epId = -1;
    };
    } else if (urlCommon.test(linkAddress)) {//如果是普通店铺
    // alert("b");
    var matchArr = linkAddress.match(urlCommon);
    if (matchArr != null && matchArr.length >= 2) {
    epId = parseInt(linkAddress.match(urlCommon)[1])
    }
    } else {
    epId = -2;
    }
    } else {
    
    }
     

      这里不是要讲业务,而是讲正则表达式: var regx=  /.*/Shop/([0-9]*$)/ 

    js的正则表达式,有两种初始化方式,这里直接用变量赋值,需要注意的是表达式中斜杠的转义方式 是用 “”来转义。而不是其他的什么 "\" 或者其他。

         如果你用在线正则表达式测试,显示不正确,那么也不必在意。只要vs不报错能运行就可以,在线测试工具应该是发到服务器测试的,服务器的处理方式和js不一样,我不肯定这一点。

    你也可以下载一个本地的正则表达式测试工具,因为有时候在线测试不正确,但是本地测试工具测试是正确的,这可能是在线测试的bug;

    好,就总结到这里,如果对你有用,请点击赞,有了赞写总结比较有劲!哈哈。

  • 相关阅读:
    UVA 12467
    UVA 12604
    部署ASP.NET MVC项目
    以路由控制URL
    Week13(12月2日):又到了那个点,期末了~~~~
    购物网站讨论5:会员功能的实现
    购物网站讨论4:订单结账功能实现
    购物网站讨论3:购物车功能实现
    购物网站讨论2:商品浏览功能实现
    购物网站讨论1:关于模型那些事
  • 原文地址:https://www.cnblogs.com/Tpf386/p/4945617.html
Copyright © 2011-2022 走看看