我想要一个验证功能,它必须接受3种类型:
var
portvar
ipvar
我的一个问题是在IPvar 用户输入必须使用此语法作为示例:
[192.168.1.0/24,10.1.1.0/24]
我如何从文本框中接受这样的Ips?
答案 0 :(得分:1)
您可以针对这样的正则表达式进行检查:
var textVal = ...;
if ((/^\[(?!,)(,?(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\/[1-9]\d*)+\]$/).test(textVal)) {
alert('Valid!');
}
else {
alert('Invalid!');
}
正则表达式标识有效的IP,IP的每个部分都是0到255之间的数字。此外,如您的示例所示,每个IP后面必须跟一个/
,然后是一个代表子网的数字面具。最后,多个IP由逗号分隔(但正则表达式不允许在开头或结尾使用逗号)。
(顺便说一句,您示例中的第二个IP地址无效)。