本帖最后由 wumaoming 于 2013-03-09 10:24:05 编辑

解决方案 »

  1.   

    用正则的话正则挺复杂
    建议先 split(".")
    然后把 IP 拼成一个字符串(每段左补0成3位), 继而转成数字, 变成数字比较, 如:
    224.140.100.0 ~ 224.140.150.10
    '224.140.100.0' -> '224140100000' -> 224140100000(number)
    '224.140.150.10' -> '224140150010' -> 224140150010(number)
    -----------
    判断 224.140.123.15 在些IP段中么?
    '224.140.123.15' -> '224140123015' -> 224140123015(number)
    224140100000 < 224140123015 < 224140150010, 在段中
      

  2.   

    给个思路:
    在validator里面先判断是否合法ip,用正则([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}然后比较 "192.168.100.1" <=ipStr<=192.168.100.100返回比较结果就好了