我有一个页面,用户可以在其中为白名单添加IP地址,如果它是有效的IP,则会验证其格式。
我想添加功能,以便也可以输入正则表达式。我想验证正则表达式是否匹配有效的IP地址(即,用户输入的正则表达式是代码中指定的正则表达式的子集)。
IP_Regex:^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$
示例:用户必须输入符合IP_Regex规范的字符串(例如10.111.111.111
)或其子集(例如12(?>\.\d{1,3}){3}
)
我不知道该如何解决这个问题。大多数帖子似乎只是引用数学理论,但没有提到在编程时如何解决这个问题。
答案 0 :(得分:0)
我不认为允许用户输入正则表达式是危险的,因此您不必100%准确。
因此,我会随机生成一些稍微无效的ips,并确保正则表达式失败。