javascript - 如何查看网址是否仅限移动设备
问题描述
我有以下脚本: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.
暂时不工作...
解决方案
您可以为该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));
}
推荐阅读
- vim - “未知功能:
37_repo_dir" 在 vim 中打开新文件时 - r - 根据另一个数据框 R 更改整行的值
- javascript - 如何用这种形式制作模态?
- terraform - 有没有办法重用 terraform 脚本并对其进行更改?
- sql - 如何使用枢轴来选择和展平表格?
- sql-server - 从 Excel 运行 Azure SQL 数据库中的存储过程并下载结果
- flutter - TextField 的可滚动性如何覆盖整个高度?
- html - 一行中的所有列大小不同
- numpy - svd 不返回正确的尺寸
- python - 如何在运行时获取发送到 HTTP 触发的 Azure Function 的请求的 IP 地址或主机名?