2017-03-13 4 views
0

これは、デフォルトではどのようになるでjquery mask ip rangeを255.255.255.255に設定するにはどうすればいいですか?

$('.ip_address').mask('ZZZ.ZZZ.ZZZ.ZZZ', { 

      translation: 
      { 
       'Z': { 
         pattern: /[0-9]/, optional: false 
        } 
      } 
    }); 

が、私が試したことはこれです:

$('.ip_address').mask('Z', { 

      translation: 
      { 
       'Z': { 
         pattern: /^(\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))\.(\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))\.(\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))\.(\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))$/, optional: false 
        } 
      } 
    }); 

通常の範囲255.255.255.255のIPチェックのためですが、問題は\.正規表現doesnのですあなたはjquery maskを使って正しいことをする方法のヒントを教えてくれますか?

グーグルの例では999.999.999.999範囲に依存している、などのここhttps://igorescobar.github.io/jQuery-Mask-Plugin/

答えて

0

このjQueryプラグインは、組み込みのデータ検証能力を制限しています。しかし、イベントハンドラを使用して独自のデータ検証を実行することはできます。次のようなものを試すことができます:

$('.ip_address').mask('Z99.Z99.Z99.Z99', { 
    translation: { 
     'Z': { 
      pattern: /[0-2]/, 
      optional: true 
     }, 
    }, 
    onKeyPress: function(val, e, el, options) { 
     var match = val.match(/[0-9]+$/); 
     if (match) { 
      var v = parseInt(match[0]) || 0; 
      $(el).val(val.substr(0, match.index) + ((v > 255) ? 255 : v)); 
     } 
    } 
}); 
関連する問題