用js 的正则表达式来判断输入的ip地址都是数字 
var reg = /^(\d{1,3})\.(\d{1.3})\.(\d{1,3})\.(\d{1,3})$/;

解决方案 »

  1.   

    验证IP地址的正则var reg = /^(?:(?:[1-9]?[0-9]|1[0-9]{2}|2(?:[0-4][0-9]|5[0-5]))\.){3}(?:[1-9]?[0-9]|1[0-9]{2}|2(?:[0-4][0-9]|5[0-5]))$/;你的正则只验证了是用“.”分隔的1到3位数字,没有做范围限定,另外那些捕获组也是多余的
      

  2.   

    var reg=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/ 
      

  3.   

    非捕获组 (?:Exp)
    使用()则默认为是捕获组,并按顺序编号,匹配到的内容保存到内存中,供后续调用
    但是在有些情况下,不得不使用(),但又不关心这个子表达式匹配到的内容,那么再捕获并保存到内存中就浪费资源了,所以用非捕获组来抵消这种副作用,只进行匹配,而不将匹配结果单独的保存