首页 > 解决方案 > 如何查看网址是否仅限移动设备

问题描述

我有以下脚本:http: //jsfiddle.net/q7pjfyxu/

脚本:

function addhttp(url) {
   if (!/^(f|ht)tps?:\/\/[mM]\./i.test(url)) {
      return true;
   }
   return false;
}

alert(addhttp("https://m.mysite.com/"));

我想得到不同的变化:

// - https://m.
// - http://m.
// - https://www.m.
// - http://www.m.

暂时不工作...

标签: javascriptregex

解决方案


您可以为该www.部分使用可选组:

^(?:f|ht)tps?:\/\/(?:www\.)?m\.

正则表达式演示

您也可以将第一个捕获组设为非捕获组(?:

您可以缩短 if / else 因为test返回一个布尔值:

return (!/^(?:f|ht)tps?:\/\/(?:www\.)?m\./i.test(url));

const strings = [
  "https://m.",
  "http://m.",
  "https://www.m.",
  "http://www.m."
];
strings.forEach(s => {
  console.log(addhttp(s));
});

function addhttp(url) {
  return (!/^(?:f|ht)tps?:\/\/(?:www\.)?m\./i.test(url));
}


推荐阅读