javascript - 正则表达式 javascript - url 与本地主机匹配

标签 javascript regex

我正在尝试为 url 验证找到一个简单 正则表达式,但在正则表达式方面不是很好..

目前我有这样的正则表达式:(/^https?:\/\/\w/).test(url)

因此它允许将 url 验证为 http://localhost:8080

我想做的是验证 url 是否在末尾有一些长的特殊字符,例如:http://dodo ......http://dododo&&&&&

你能帮帮我吗?

最佳答案

这个怎么样?

/^http:\/\/\w+(\.\w+)*(:[0-9]+)?\/?(\/[.\w]*)*$/

将匹配:http://domain.com:port/path 或只是 http://domainhttp://domain:port

/^http:\/\/\w+(\.\w+)*(:[0-9]+)?\/?$/

匹配没有路径的 URL

正则 block 的一些解释:

域: \w+(\.\w+)* 以匹配带点的文本:localhostwww.yahoo。 com(可以是 PathPort 部分开始)

端口: (:[0-9]+)? 匹配或不匹配以分号开头的数字::8000 (也可能只有一个)

路径: \/?(\/[.\w]*)* 匹配任何带斜杠和点的字母数字:/user/images/0001.jpg(直到行尾)

(path 是非常有趣的部分,现在我这样做是为了允许单独或相邻的点,即这样的表达式是可能的:/././/.../ 等。如果您想在 path 中使用点,例如在 domain 部分 -没有边框或相邻的点,然后使用 \/?(\/\w+(.\w+)*)* 正则表达式,类似于 domain 部分。)

* 已更新 *

此外,如果您希望在您的 URL(或任何其他)中包含(它是有效的)- 字符,您应该简单地扩展字符类为“URL文本匹配”,即 \w+ 应该变成 [\-\w]+ 等等。

关于javascript - 正则表达式 javascript - url 与本地主机匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18696796/

相关文章:

javascript - javascript 代码需要以 "<!-- "开头吗?

r - 从 R 中的文本文件中提取模式子字符串

regex - 使用 preg_replace 链接 DOI

regex - 带有 [System.Text.RegularExpressions.Regex]::Match(string,string) 参数的 xbuild 不能正常工作(MSBuild 很好)

javascript - 如何使用 jQuery 更改图像 src

javascript - 在 typescript 或流程中声明 "promisifier"函数的类型

java - 自定义时间字符串的正则表达式

ruby - Ruby 中 `\w` 与 `[[:alpha:]]` 之间的 Unicode 行为差异

javascript - 使用 foreignObject 从 svg 获取 Canvas dataURI 的问题

javascript - javascript unittests jest 库中是否有 assertCountEqual 等价物?