Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将javascript中的url与regexp匹配_Javascript_Jquery_Regex - Fatal编程技术网

如何将javascript中的url与regexp匹配

如何将javascript中的url与regexp匹配,javascript,jquery,regex,Javascript,Jquery,Regex,当网站的url中有/category或/blog时,我试图将css添加到div中 我的代码如下: var expression = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi; var regex = new RegExp(expression); var paths = ['/blog', '/category']; for

当网站的url中有
/category
/blog
时,我试图将css添加到div中

我的代码如下:

    var expression = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;
    var regex = new RegExp(expression);
    var paths = ['/blog', '/category'];

  for (i = 0; i < paths.length; i++) {
      if (paths[i].match(regex) )
            {
             console.log("Successful match");
             $('.page-title').css('bottom', '-100px');
            } else {
             console.log("No match");
            }
    }
var表达式=/[-a-zA-Z0-9@:%\+.~\?&/=]{2256}.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%\+.~\?&/=]*)/gi;
var regex=新的RegExp(表达式);
变量路径=['/blog','/category'];
对于(i=0;i

问题是这个返回总是错误的,似乎不只是得到
/blog
/category
我需要把css放在url中有这两个部分的时候,我认为这个正则表达式是错误的或者缺少了什么,有人可以帮助吗?

正则表达式看起来会匹配完整的url。。。不像你在这里走的路。另外,代码中没有引用当前页面的地方

像这样的方法应该会奏效:

if (location.href.match(/\/(blog|category)/)) {
  console.log("Successful match");
  $('.page-title').css('bottom', '-100px');
} else {
  console.log("No match");
}

此正则表达式验证数组上的字符串是否为格式xxxxx.yyy/zzzzz。他们都没有

还有。。。即使字符串是预期的格式,您也会传递所有有效的URL,而不是只传递您想要的URL(博客和类别)

请注意,您没有在任何地方验证实际URL

也许你想要的是:

var url = window.location.href;
var paths = ['/blog','/category']

for (i = 0; i < paths.length; i++) {
    if (url.indexOf(paths[i]) > 0){
        console.log("Successful match");
        $('.page-title').css('bottom', '-100px');
    } else {
        console.log("No match");
    }
}
var url=window.location.href;
变量路径=['/blog','/category']
对于(i=0;i0){
console.log(“成功匹配”);
$('.page title').css('bottom','-100px');
}否则{
控制台日志(“不匹配”);
}
}

<代码> >你能把样本数据放在你认为有效和无效的URL中吗?如果你只需要在URL中搜索特定的字符串,你就可以使用<代码>索引XO/COD>。(regex文本产生一个regex对象),无需使用
newregexp
构造函数创建
regex
变量。