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