以下是一个验证带有参数的域名的 JavaScript 正则表达式:
const reg = /^((https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([\/\w \.-]*)*\/?)?(\?[\w\d%&=]*)?$/;
这个正则表达式可以验证带有或不带有协议前缀的域名,例如 http://example.com 或 example.com。它还可以验证包含路径和参数的 URL,例如 http://example.com/path/to/page.html?param1=value1¶m2=value2。
以下是每个部分的解释:
^:匹配字符串的开头(:开始捕获组(https?:\/\/)?:匹配可选的http://或https://协议前缀([\da-z.-]+):匹配域名中的字符,包括数字、小写字母、点和连字符\.([a-z.]{2,6}):匹配顶级域名(例如.com、.edu等)和次级域名(例如.co.uk)([\/\w \.-]*)*:匹配可选的路径,包括斜杠、单词字符、空格、点和连字符\/?:匹配可选的斜杠作为路径的结尾)?:结束捕获组并使其变成可选的(\?[\w\d%&=]*)?:匹配可选的查询参数,包括问号和各种字符(例如字母数字和百分号)组成的参数字符串$:匹配字符串的结尾
1807

被折叠的 条评论
为什么被折叠?



