js正则表达式匹配斜杠 网址 url等
项目中有个需求,需要从url中截取ID。需要在前台用js匹配截取,所以就百度一下,发现都没有说清楚,所以这里就总结下。
正则表达式如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 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;
好,就总结到这里,如果对你有用,请点击赞,有了赞写总结比较有劲!哈哈。
分类:
asp.net
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析