martinss,
Вариант ввод только числа ...
Сообщение от martinss
|
1. если ввели цифру, то ОК
2. если ввели точку, то ОК
3. если ввели запятую, конвертировать ее в точку
|
Сообщение от martinss
|
1. точка может быть только одна
2. После точки может быть не более 2 цифр
2* экспоненциальную форму не рассматриваем
2** знаки вида + и - не рассматриваем
3. если есть точка, но перед ней пусто, автоматом добавляем ноль.
|
Сообщение от martinss
|
1. вставить из буфера (пр кн мыши)
2. CTRL + V
3. перетащить со страницы текст
4. ввести с клавиатуры
4* точку можно поставить в любое место
|
Сообщение от martinss
|
максимальная длинна числа 15 знаков (вместо с точкой).
|
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
<title></title>
</head>
<body>
<input name="test" id="test"/>
<script type="text/javascript">
$("#test").on("input blur", function (e) {
var str = $(this).val(),
reg = /[\d\.]/,
str = str.replace(",", ".").replace(/^\./, "0.").replace(/^0(\d)/, "$1"),
len = 15 < str.length ? 15 : str.length,
b = 0;
for (; b < len && reg.test(str.charAt(b)); b++) "." == str.charAt(b) && (reg = /\d/, len = b + 3);
e.type == "blur" && (str = str.replace(/\.$/, ""))
$(this).val(str.slice(0, b))
});
</script>
</body>
</html>