2017-01-04 2 views
0

мне нужно регулярное выражение, которое совпадает с входами как: 1234.789 12 123.02Как ограничить ввод значений поплавка?

то есть, максимум 4 цифры на левой стороне . и максимальной 3 на правом .

here является то, что у меня есть пытался.

i = 0; 
 
$(document).ready(function(e){ 
 
    $("input").keypress(function(e){ 
 
     var patt = new RegExp("^[0-9]{1,4}(?:\.[0-9]{0,3})?$"); 
 
     var val = this.value + e.key; 
 
     debugger; 
 
    if (!patt.test(val)){ 
 
    \t e.preventDefault(); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Enter your name: <input type="number">

+0

Двойной экранировать специальные символы в конструкторе нотации. См. [Почему конструкторы регулярных выражений должны быть дважды экранированы?] (Http://stackoverflow.com/questions/17863066/why-do-regex-constructors-need-to-be-double-escaped) Однако используйте литерал регулярного выражения : 'var patt =/^ \ d {1,4} (?: \. \ d {0,3})? $ /;' –

+1

Есть ли проблема с кодом, который вы пробовали? Если да, что это? –

+1

Regex работает нормально, я думаю, проблема в том, как вы пытаетесь ограничить значения. Выполнение 'e.preventDefault();' не приведет к "отмене" –

ответ

Смежные вопросы