如何查看网址是否仅适用于移动设备

时间:2018-12-11 16:18:23

标签: javascript regex

我有以下脚本: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.

目前无法正常工作...

1 个答案:

答案 0 :(得分:2)

您可以在www.部分使用可选的组:

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

regex demo

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

您可以缩短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));
}