var IPaddress = /^((0|[1-9]\d{0,1}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(0|[1-9]\d{0,1}|1\d{2}|2[0-4]\d|25[0-5])$/;
var IPaddressWithPrefix = /^((0|[1-9]\d{0,1}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(0|[1-9]\d{0,1}|1\d{2}|2[0-4]\d|25[0-5])\/([1-9]|[12]\d|3[012])$/;
第一个用来匹配IP地址,如192.168.0.0,考虑了多种情况(如0开头等),且较为简洁。
第二个正则表达式用来匹配带前缀的IP地址,如 202.224.120.2/24,是在第一个的基础上添加得到的。
我写的正则表达式,逻辑较为简单,权当抛砖引玉。欢迎大家交流意见,提出更为简洁的IP地址判断方式。