Javascript regex将IP地址与';x';在ip地址子网中

Javascript regex将IP地址与';x';在ip地址子网中,javascript,regex,Javascript,Regex,目前我们有正则表达式 '/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/' 它匹配正确的ip地址,但我们的要求是匹配以下格式 123.23.10.x 123.23.x.x 123.x.x.x 因此,它只能接受ip中的数

目前我们有正则表达式

'/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/'
它匹配正确的ip地址,但我们的要求是匹配以下格式

  • 123.23.10.x
  • 123.23.x.x
  • 123.x.x.x
因此,它只能接受ip中的数字或“x”


提前感谢您的帮助

通过在可选类中添加
|x
,您可以添加匹配
x
s的可能性:

^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|x)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|x)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|x)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|x)$

请参阅。

我想我已经偏离主题了,但您可以避免使用正则表达式,我相信它不太容易出错:

var-ips=[
"0.0.0.0",
"0.0.255.0",
“123.x.x.x”,
“123.y.x.x”,
"0.0.256.0",
"0.0.-1.0"
];
for(设i=0;i255){
返回false;
}
}
返回true;

}
?我不会说这是离题的。这是用OP指定的语言编写的,在我看来,这是使用正则表达式的更好选择。Regex非常棒,但是保持一个Regex是一件痛苦的事情;特别是当这个问题需要多长时间的时候。