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;
好,就总结到这里,如果对你有用,请点击赞,有了赞写总结比较有劲!哈哈。
js正则表达式匹配斜杠 网址 url等的更多相关文章
- js正则表达式匹配字符串与优化过程
前言 有时候需要实现对js源文件中的url字符串做拦截预处理,或者前端js语法高亮,或者需要对动态加载的关键源码做混淆保护,在某些步骤实现之前,有一个步骤是需要提炼出所有的合法字符串. 目标:检测源文 ...
- JS 提交反斜杠\替换成正斜杠/
js将字符串中所有反斜杠\替换成正斜杠/ 区分正斜杠与反斜杠: 正斜杠:http://.http紧跟着的斜杠,离手输入最近的斜杠,shift中间斜杠.45度角斜杠.正斜杠不需要转义 反斜杠:回车与空格 ...
- JS中反斜杠和单双引号的配合使用效果
<div id="tag"></div> <div id="tag1"></div> <div id=&q ...
- JS正则表达式匹配域名 网址 URL
DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母.标号中除连字符(-)外不能使用其他的标点符号.级别最低的域名写在最左边,而级别最高的域名写在最右边.由多 ...
- 正则表达式匹配域名、网址、url
DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母.标号中除连字符(-)外不能使用其他的标点符号.级别最低的域名写在最左边,而级别最高的域名写在最右边.由多 ...
- JS正则表达式匹配<div><style>标签
测试字符串: <style>v\:* { BEHAVIOR: url(#default#VML) } o\:* { BEHA ...
- js 正则表达式,匹配邮箱/手机号/用户名
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- URL后面带\斜杠对SEO的影响
例如以下的两种URL书写方式: 1.www.baidu.com 2.www.baidu.com\ 这两种书写方式的区别到底在哪里呢?哪一个的速度更快呢?可能对于我们大多数人来说会觉得两个速度一样,因为 ...
- url后面带斜杠与不带斜杠的区别
比如: https://www.baidu.com/test/ https://www.baidu.com/test 当Web服务器接收到对某个末尾不含斜杠的url请求时,例如https://www. ...
随机推荐
- python写员工信息表作业笔记
需求 流程图
- docker环境下构建flannel 网络
flannel 是coreos 开发的网络解决方案,为每一台主机分配一个 subnet,容器从此subnet 中分配ip,ip可以在主机间路由.每个subnet从更大的ip池中划分,为了在各个主机间共 ...
- CentOS 7.2重启网络报错 Failed to start LSB: Bring up/down
CentOS 7.2重启网络报错 Failed to start LSB: Bring up/down 我的虚拟机原本有两块网卡,一块叫eno16777736,另一块叫eno5033674.本来是正常 ...
- 考研编程练习----Prim算法的c语言实现
本文引用自泽爷工作室http://www.zeyes.org/study/clang/189.html 算法思想: 1.在把生成树看成一个集合(开始集合为空,到各个结点的距离当然未知) 2.结点与集合 ...
- 《图说VR入门》——googleVR 他山之玉
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/53125482 作者:car ...
- Spring Boot:Caused by: org.apache.ibatis.binding.BindingException: Parameter 'deptId' not found.
1. 错误信息描述 在使用Spring Boot + Mybaits从前台向后台提交数据时,控制台报出该错误信息 2. 报错原因 在dao接口中,该方法拥有两个参数,Mybaits无法区分这两个参数 ...
- 安装支持elasticsearch使用sql查询插件
一.ElasticSearch-SQL介绍 ElasticSearch-SQL(后续简称es-sql)是ElasticSearch的一个插件,提供了es 的类sql查询的相关接口.支持绝大多数的sql ...
- java 文件过滤
public class TestFileio { public static void main(String[] args) { File file = new File("D:/upl ...
- 【Unity3d】WWW类发起web连接
初学unity3d,解决一个游戏与web服务器连接问题. 看了项目中原始代码,发现每次之前的程序员每次调用WWW类都需要写一遍StartCoroutine,然后各种重复代码. 于是写了一个简单的封装类 ...
- 类的扩展之 DataReader的扩展
看了关于DataReader的扩展,发现能节省很多代码.从数据库读取数据最原始方法就是while()然后做循环,如果数据库添加一个字段那么你所有读取数据库的方法全部添加.通过扩展这个类就摆脱了这种令人 ...