javascript - 用于多个 DNS 服务器的 JS 正则表达式

标签 javascript html regex validation

我正在尝试验证用户可以在其中输入多个 DNS 条目的表单字段。我目前有用于验证单个条目的 IP 地址的正则表达式,但如果用户可以使用“,”作为分隔符添加多个 DNS 条目,则不会。

示例(想要验证两个条目):
192.168.1.1、198.168.1.2

正则表达式: /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3 }(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/

I'm trying to validate the DNS Servers form field

最佳答案

真的不太确定这是一个好主意,因为它很难读,但这应该可以完成工作:

^(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5]))(,\s*(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])))*$

https://regex101.com/r/0uwu2w/1

正如其他人所指出的,对字符串进行拆分并匹配单独的 IP 地址可能是一个更好的主意。

更进一步,即使匹配单个 IP,也可以依次使用拆分并检查每个组成部分是否是 0-255 范围内的数字。

关于javascript - 用于多个 DNS 服务器的 JS 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42462311/

相关文章:

html - 如何将 TouchDB 嵌入到 phonegap html5 应用程序中?

java - 使用正则表达式匹配以逗号结尾但不在另一个单词内的单词

Python 从访问日志中解析 GET|POST 路径

javascript - 使用 jQuery 将文件输入添加到表单

javascript - 我是否必须保存带有 jsx 扩展名的 React 组件文件

html - 如何在CSS中将表格中的不同列设置为不同的宽度?

html - 放置页脚元素

javascript - Twitter Bootstrap 输入标签在()之前不适用于 Jquery

javascript - Package.json 文件是 Angular 2 plus 项目的必需文件吗?

regex - 来自标准输出的ansible解析文本字符串