【发布时间】:2019-05-03 14:04:59
【问题描述】:
我正在尝试使用下面的正则表达式进行 url 验证。
/^((((.*):\/\/)|(mailto:|news:))(%[0-9A-Fa-f]{2}|[-()_.!~*';\/?:@&=+$,A-Za-z0-9])+)([).!';\/?:,][[:blank:]])?$/i.test( value );
当我提供一个 URL 时,它会按预期工作。我的输入将包含多个以逗号分隔的 URL,我想将上述正则表达式应用于逗号分隔列表中的所有单个 URL。我还想防止在 URL 中使用某些字符串(例如“名称”、“城市”等)
例如
- http://localhost:8080 有效,被上述正则接受
- https://something.com 有效,被上述正则表达式接受
- http://localhost:8080,something.com,something2.com 无效,被上述正则表达式接受
- http://name.com 无效
- http://city.com 无效
我需要对我的正则表达式进行哪些更改才能达到上述结果?
【问题讨论】:
标签: javascript regex