javascript - 开关盒正则表达式测试

标签 javascript regex switch-statement

var path = location.pathname;
 switch(path){
  case (/\/memberlist/).test(path) :getCSS('url-22.css'); break;
  case (/\/register/).test(path):  getCSS('url-6.css');  break;
  case (/buy-credits/g).test(path): getCSS('url-7.css'); break;
  case (/\/?u(\d+)friends$/).test(path): getCSS('url-8.css'); break;
  case (/\/privmsg/).test(path): getCSS('url-9.css'); break;
  case (/\/?u(\d+)wall$/).test(path): getCSS('url-4.css'); break;
 }
  function getCSS(url,media){
       var a = document.createElement('link');
           a.href=url;
           a.media= media || 'screen';
           a.rel="stylesheet";
     return (document.getElementsByTagName('head')[0].appendChild(a));    
  }

那是我的代码,出于某种原因它没有运行应该运行的函数。出于测试目的,我们可以更改 var path="/memberlist" 但它仍然不会运行。有人可以向我解释为什么这不会运行。不要真的使用 switch 语句

最佳答案

改变

switch(path){

switch(true){

正如您在帖子中看到的那样,我在评论中提到了这一点。

关于javascript - 开关盒正则表达式测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21694798/

相关文章:

java - 开关只是继续

javascript - 姓名,电子邮件验证

javascript - 动态添加和删除字段的更好方法?

javascript - 基于动态生成的 DOM 元素运行脚本

php - preg_replace 在省略时插入默认值

c++ - 使用 switch 语句进行范围检查

java - 不间断切换

javascript - 无法让 socket.io-client 通过 browserify 运行

Python 正则表达式在单行上进行反向/负匹配,而不是在多行上,不使用 SPLIT(),并且不测试以前的匹配组

java - 正则表达式在Java中替换部分字符串