// 正则表达式匹配 URL 的示例代码
// 定义一个正则表达式来匹配 URL
const urlRegex = /^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/[^\s]*)?$/;
// 测试一些 URL 字符串
const testUrls = [
"http://example.com",
"https://www.example.com/path/to/page?name=ferret&color=purple",
"ftp://invalid.com", // 不匹配,因为只匹配 http 和 https
"www.example.com", // 匹配,即使没有协议部分
"example.com/path", // 匹配,路径部分可选
"invalid" // 不匹配,不是有效的 URL
];
testUrls.forEach(url => {
console.log(`${url}: ${urlRegex.test(url)}`);
});
// 解释说明:
// 1. ^ 表示字符串的开始。
// 2. (https?:\/\/)? 匹配可选的 http 或 https 协议部分。问号表示前面的部分是可选的。
// 3. ([a-zA-Z0-9-]+\.)+ 匹配域名部分,允许字母、数字和连字符,并且可以有多个子域。
// 4. [a-zA-Z]{2,} 匹配顶级域名,如 .com, .org 等,至少两个字符。
// 5. (\/[^\s]*)? 匹配可选的路径部分,以斜杠开头,后面跟随非空白字符。
// 6. $ 表示字符串的结束。
// 这个正则表达式可以用于基本的 URL 校验,但请注意它并不是完美的,复杂的 URL 可能需要更详细的规则。
上一篇:js 数字类型
下一篇:js 正则 test
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站