您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

javascript正则表达式常用合集

javascript正则表达式常用的合集

参考网址
{n}: n 是一个正整数,匹配了前面一个字符刚好出现了 n 次
{n,}: n是一个正整数,匹配前一个字符至少出现了n次
{n,m}: n 和 m 都是整数。匹配前面的字符至少n次,最多m次。如果 n 或者 m 的值是0, 这个值被忽略

[ ] : 一个字符集合,匹配方括号中的任意字符,方括号内的特殊字符不必转义
\ : 匹配一些特殊字符和转义
* : 匹配前一个表达式 0 次或多次。等价于 {0,}
+ : 匹配前面一个表达式 1 次或者多次。等价于 {1,}
? : 匹配前面一个表达式 0 次或者 1 次。等价于 {0,1}
^ : 匹配输入的开始
$ : 匹配输入的结束
( ) : 捕获括号,匹配 ( ) 内的字符并且记住匹配项
x|y : 匹配‘x’或者‘y’
\d : 匹配一个数字。等价于[0-9]

x(?=y) : 匹配’x’仅仅当’x’后面跟着’y’.这种叫做先行断言
(?<=y)x : 匹配’x’仅当’x’前面是’y’.这种叫做后行断言

    //解析地址为["http", "locahost", "5500", "/public/index.html", "uname=lena&upwd=123456", "#top"]
    //正则表达式2种做法
    var reg10k = /([a-z]+):\/\/([A-Za-z0-9.]+):(\d+)((\/[a-z.]+)+)\?(([a-z]+=[a-z0-9]+&?)+)#([a-z]+)/i;
    var reg18k =/[a-z]+(?=:\/\/)|(?<=:\/\/)[a-z0-9.]+(?=:)|(?<=:)\d+(?=\/)|\/[a-z/.]+(?=\?)|(?<=\?)[a-z0-9=&]+(?=#)|#[a-z0-9]+/ig;
    var url = "http://locahost:5500/public/index.html?uname=lena&upwd=123456#top"
    var arr10k = url.match(reg10k);
    var arr18k = url.match(reg18k);
    console.log(arr10k);
    console.log(arr18k);
    //数组做法
    //先按://切割,取第0部分——protocol
    var arr = url.split("://");
    var protocol = arr[0];
    //剩余部分保存在变量rest中继续执行后续操作
    var rest = arr[1];
    //再按#切割,取第1部分——hash
    var arr = rest.split("#");
    var hash = `#${arr[1]}`;
    rest = arr[0];
    //再按?切割,取第1部分——search
    var arr = rest.split("?");
    var search = arr[1];
    rest = arr[0];
    //再按/切割
    var arr = rest.split("/");
    //将数组第一个元素踢出数组——主机名+端口号
    var host = arr.shift();
    //将剩余部分按/拼接形成相对路径
    var pathname = "/" + arr.join("/");
    //将host再按:切割,分成主机名和端口号
    var arr = host.split(":")
    var hostname = arr[0];
    var port = arr[1];

    console.log(protocol); //http
    console.log(host); //localhost:5500
    console.log(hostname); //localhost
    console.log(port); //5500
    console.log(pathname); // /public/index.html
    console.log(search); //?lid=5
    console.log(hash); //#top


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进