我有以下脚本: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.
目前无法正常工作...
答案 0 :(得分:2)
您可以在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));
}