You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

URL正则表达式优化:支持localhost类URL验证

修正URL验证正则:支持localhost并拒绝无后缀域名

我帮你调整了原有的正则表达式,既能完美支持localhost(带/不带HTTP协议、带端口的情况),又能精准拒绝像google或http://google这类没有有效域名后缀的简单字符串。

修改后的正则表达式

(^|\s)((https?:\/\/)?(localhost(:\d+)?|[\w-]+(\.[\w-]+)+\.?(:\d+)?)(\/\S*)?)

关键修改说明

  • 新增localhost(:\d+)?分支:专门匹配localhost地址,允许后面跟随端口号(比如:8080),不管有没有HTTP/HTTPS协议前缀都能匹配
  • 拆分域名匹配逻辑:用|分隔两个规则,一个处理localhost场景,另一个保留原有的常规域名校验[\w-]+(\.[\w-]+)+\.?(:\d+)?,确保常规域名必须包含至少一个.(也就是具备有效后缀)

测试用例验证

能匹配的合法地址

  • localhost:8080
  • http://localhost:8080
  • https://localhost
  • https://example.com
  • api.sub-domain.io:5000/v1/users
  • http://my-site.co.uk/path

会被拒绝的非法字符串

  • google(无有效域名后缀)
  • http://google(无有效域名后缀)
  • test(纯普通字符串,无域名结构)
  • http://test(无有效后缀的伪URL)

如果之后需要支持更多本地开发用的域名(比如local.dev),只需要在localhost分支后面继续添加即可,比如:

(^|\s)((https?:\/\/)?(localhost(:\d+)?|local\.dev(:\d+)?|[\w-]+(\.[\w-]+)+\.?(:\d+)?)(\/\S*)?)

内容的提问来源于stack exchange,提问作者StevieB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:17:12