проверка поля формы
Помогите понять и сделать проверку поля формы
нужно при вводе в форму: - если () пустое поле, то все ОК - если (a) буква, то что-то к примеру alert - если (1 -> 1) число - ОК - если (1,1 -> 1,1; 1.1 -> 1,1) дробное число, до 1 цифры после запятой - ОК - если (1,11111 -> 1,1) дробное больше 1 цифры, то все лишние округляются, и - Ок - если (,5 -> 0,5; .5 -> 0,5) начинается с точки или запятой, в любом случае и .и, превращается в запятую http://jsfiddle.net/PXY4u/3/
<div class="sq">
<input id="id_sq_pl" name="sq_pl" type="number" value="" />
</div>
$('.sq input').unbind().blur( function(){
var id = $(this).attr('id');
var val = $(this).val();
switch(id)
{
case 'id_sq_pl':
var regex = /^[0-9]?\d{0,5}[\.,]?\d{0,1}$/g;
if ( regex.test(val) || val == '' ) {
var val = Math.round( val * 10 ) / 10;
$(this).val(val);
} else {
alert('Введите число'); return false;
}
break;
}
console.log(val);
});
что-то тут вообще запутался, почему-то не работает |
Цитата:
Какие стандарты у пользователя? Это основная задача, данной формы, учесть всех, со своими стандартами в голове. |
Форма для русско-язычных пользователей, а пользователи... Уверен в 99,9% случаях, где бы они не писали, ставят запятые.
...сейчас форма уже не зависимо от ввода [.,] принимает точку. пс. Извините, если показалось, что настаиваю... Просто хочу высказать мысль, форма не для программистом, для простого пользователя. |
Как-то кривовато: http://jsfiddle.net/PXY4u/5/
Если ввести текст, он превращает его в 0 Цифры типа 4,5 - вообще удаляет |
rss,
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title> - jsFiddle demo</title>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
<link rel="stylesheet" type="text/css" href="/css/result-light.css">
<style type='text/css'>
/* странная реактиция у формы
хотелось бы:
- если () пустое поле, то все ОК
- если (a) буква, то что-то к примеру alert
- если (1 -> 1) число - ОК
- если (1,1 -> 1,1; 1.1 -> 1,1) дробное число, до 1 цифры после запятой - ОК
- если (1,11111 -> 1,1) дробное больше 1 цифры, то все лишние округляются, и - Ок
- если (,5 -> 0,5; .5 -> 0,5) начинается с точки или запятой, в любом случае и .и, превращается в запятую
*/
</style>
<script type='text/javascript'>
$(window).load(function(){
$('#id_sq_pl').blur( function(){
var val = $(this).val();
if(!val.length) return false;
val = +val.replace(',','.');
if(!val) {$(this).val('');alert('Введите правильное число'); return false};
val = Math.round( val * 10 ) / 10;
$(this).val((''+val).replace('.',','))
});
});
</script>
</head>
<body>
<div class="sq">
<input id="id_sq_pl" name="sq_pl" value="" />
</div>
</body>
</html>
|
Цитата:
ничего не работает http://jsfiddle.net/PXY4u/8/ подскажите, в чем проблема? |
| Часовой пояс GMT +3, время: 09:02. |