项目中有个需求,需要从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;

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

js正则表达式匹配斜杠 网址 url等的更多相关文章

  1. js正则表达式匹配字符串与优化过程

    前言 有时候需要实现对js源文件中的url字符串做拦截预处理,或者前端js语法高亮,或者需要对动态加载的关键源码做混淆保护,在某些步骤实现之前,有一个步骤是需要提炼出所有的合法字符串. 目标:检测源文 ...

  2. JS 提交反斜杠\替换成正斜杠/

    js将字符串中所有反斜杠\替换成正斜杠/ 区分正斜杠与反斜杠: 正斜杠:http://.http紧跟着的斜杠,离手输入最近的斜杠,shift中间斜杠.45度角斜杠.正斜杠不需要转义 反斜杠:回车与空格 ...

  3. JS中反斜杠和单双引号的配合使用效果

    <div id="tag"></div> <div id="tag1"></div> <div id=&q ...

  4. JS正则表达式匹配域名 网址 URL

    DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母.标号中除连字符(-)外不能使用其他的标点符号.级别最低的域名写在最左边,而级别最高的域名写在最右边.由多 ...

  5. 正则表达式匹配域名、网址、url

    DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母.标号中除连字符(-)外不能使用其他的标点符号.级别最低的域名写在最左边,而级别最高的域名写在最右边.由多 ...

  6. JS正则表达式匹配<div><style>标签

    测试字符串: <style>v\:* {                 BEHAVIOR: url(#default#VML) } o\:* {                 BEHA ...

  7. js 正则表达式,匹配邮箱/手机号/用户名

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. URL后面带\斜杠对SEO的影响

    例如以下的两种URL书写方式: 1.www.baidu.com 2.www.baidu.com\ 这两种书写方式的区别到底在哪里呢?哪一个的速度更快呢?可能对于我们大多数人来说会觉得两个速度一样,因为 ...

  9. url后面带斜杠与不带斜杠的区别

    比如: https://www.baidu.com/test/ https://www.baidu.com/test 当Web服务器接收到对某个末尾不含斜杠的url请求时,例如https://www. ...

随机推荐

  1. 延迟加载图片控件--echo.js

    echo.js的github地址:https://github.com/toddmotto/echo   echo是一个独立的JavaScript.轻量级的.延迟图片加载插件,echo压缩后体积不到1 ...

  2. BLDC无刷直流电机的原理及驱动基础

    无刷直流电机(BLDC,也称为马达驱动)是电机和控制技术相结合的产品,电调控制电机的运行,从电流驱动角度来看,无刷直流电机可分为正弦波驱动和方波驱动.通常,以方波驱动的电机称为无刷直流电机(BLDC) ...

  3. Bugku Crack it

    知识点:kali  john工具 不知道hashcat怎么样 一. 用winhex打开 发现右边有root:等信息,想到了linux系统,看了别人的wp,kali中有一个工具john可以破解密码 二. ...

  4. DVWA:环境搭建

    0x01 安装PHP集成环境 我这里用的是phpstudy 2016,这个使用起来比较方便.下面是现在的最新版. http://www.phpstudy.net/phpstudy/phpStudy20 ...

  5. 郁金香指标开源库的使用--(tulipindicators-0.8.4)

    瞎逛发现最新出了这么一个指标库,有100多种指标的函数库,文档写的比较好,重要的是作者一直在维护. 把它编成库,然后测试一下,可用于自动交易,策略交易等开发. 1.下载地址 https://githu ...

  6. 155. Minimum Depth of Binary Tree【LintCode by java】

    Description Given a binary tree, find its minimum depth. The minimum depth is the number of nodes al ...

  7. drag element

    <div id="logDiv" draggable="true" style="border: 2px dotted red; width: ...

  8. Hive中Join的类型和用法

    关键字:Hive Join.Hive LEFT|RIGTH|FULL OUTER JOIN.Hive LEFT SEMI JOIN.Hive Cross Join Hive中除了支持和传统数据库中一样 ...

  9. 20155233 《Java程序设计》 第十一周课堂练习总结

    20155233 <Java程序设计> 第十一周课堂练习总结 测试题目 1.修改教材P74 一行代码 NineNineTable.java, 让执行结果是个三角形: 提交在IDEA或命令行 ...

  10. 20155322 2016-2017-2 《Java面向对象程序设计》第十二周课堂练习之Arrays和String单元测试

    20155322 2016-2017-2 <Java面向对象程序设计>第十二周课堂练习之Arrays和String单元测试 练习目地 在IDEA中以TDD的方式对String类和Array ...