正则表达式 url 与本地主机匹配
Regexp url match with localhost
我试图找到一个简单的正则表达式来验证url,但在正则表达式方面不是很好。
目前我有这样的正则表达式:(/^https?:'/'/'w/).test(url)
因此,它允许将URL验证为http://localhost:8080
等。
我想做的是不要验证网址,如果它们末尾有一些长的特殊字符,例如:http://dodo.......
或http://dododo&&&&&
你能帮我吗?
这个怎么样?
/^http:'/'/'w+('.'w+)*(:[0-9]+)?'/?('/[.'w]*)*$/
将匹配:http://domain.com:port/path
或仅http://domain
或http://domain:port
/^http:'/'/'w+('.'w+)*(:[0-9]+)?'/?$/
匹配不带路径的网址
正则表达式块的一些解释:
域:'w+('.'w+)*
将文本与点匹配:localhost
或www.yahoo.com
(可以与"路径"或"端口"部分开始一样长)
端口:(:[0-9]+)?
匹配或不匹配以分号开头的数字::8000
(它只能是一个)
路径:'/?('/[.'w]*)*
匹配任何带有斜杠和点的字母数字:/user/images/0001.jpg
(直到行尾)
(路径是非常有趣的部分,现在我这样做是为了允许单独的或相邻的点,即这样的表达式是可能的:/.
或/./
或/.../
等。如果你想在路径中有点,就像在域部分一样 - 没有边框或相邻的点,那么使用'/?('/'w+(.'w+)*)*
正则表达式,类似于域部分。
*更新*
此外,如果您希望在您的 URL(或任何其他)中包含(它是有效的)-
字符,您应该简单地扩展"URL 文本匹配"的字符类,即 'w+
应该变得['-'w]+
等等。
匹配ABCD
那么你可以离开起始部分。
例如,匹配http://localhost:8080
'只是写
/(localhost).
如果你想匹配特定的事物,那么请专注于你想要搜索的术语,而不是句子的开头和结尾。
正则表达式用于搜索术语,直到我们对它们有一个严格的规则。 :)
我希望这能做到..
这取决于您需要正则表达式的复杂程度。一个简单的方法是只接受单词(和端口/域):
^https?:'/'/'w+(:[0-9]*)?('.'w+)?$
请记住,您需要使用 +
字符来匹配一个或多个字符。
当然,还有更好、更复杂的解决方案。
^https?:'/'/localhost:[0-9]{1,5}'/([-a-zA-Z0-9()@:%_'+.~#?&'/=]*)
火柴:
- https://localhost:65535/file-upload-svc/files/app?query=abc#next
不匹配:
- https://localhost:775535/file-upload-svc/files/app?query=abc#next
解释
- 它只能用于本地主机
- 它还检查端口号的值,因为它应该小于 65535,但您可能需要添加其他逻辑
我参加聚会很晚了,但现在您应该考虑使用 URL
类验证您的 URL。 避免正则表达式的头痛并依赖标准
let isValid;
try {
new URL(endpoint); // Will throw if URL is invalid
isValid = true;
} catch (err) {
isValid = false;
}
使用它。这也将允许本地主机和实时域。
^https?:'/'/'w+('.'w+)*(:[0-9]+)?('/.*)?$
^https?:'/'/(localhost:([0-9]+'.)+[a-zA-Z0-9]{1,6})?$
将匹配以下情况:
- http://localhost:3100/api
- http://localhost:3100/1
- http://localhost:3100/AP
- http://localhost:310
将不符合以下情况:
- http://localhost:3100/
- http://localhost:
- http://localhost
- http://localhost:31
- 如何使用url加载程序在webpack中导入多个图像
- 获取主机 URL + 目标 URL 的时间
- 如何使用jquery从url中提取主机名
- Node.js/MongoDB:如何使用module.exports将本地主机数据库URL传递给服务器.js文件
- 正则表达式 url 与本地主机匹配
- JavaScript 中的主机名 url 正则表达式
- 更改并显示url的主机名
- Windows脚本主机文件大小限制无法检索引用的URL异常
- 获取使用主机名获取URL的脚本
- 在IIS中部署到本地主机后未正确调用JavaScript url
- JS:从url获取主机名,正则表达式不工作
- 为什么我的AJAX调用前缀web主机的url
- 如何设置背景图像url没有自动前缀的主机在Chrome
- Base64编码图像主机url或服务器文件路径
- 用javascript创建锚href,而不是在链接中有主机url
- 如何在jquery中连接当前url主机名到字符串
- JavaScript -将URL解析为主机名
- 多个主机名对每个URL都需要一个唯一的iframe
- 如何根据您的主机设置url基础
- 用javascript进一步解析url主机名