Показать сообщение отдельно
  #5 (permalink)  
Старый 09.01.2014, 23:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

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>
Ответить с цитированием