Фишка №17
JavaScript проверка правильности введенных в форму числовых данных.
Код:
<html>
<title></title>
<head>
<script language = javascript>
function asd(sss){
num="0123456789";
for(i=0; i<sss.length; i++){
if (num.indexOf(sss.charAt(i))<0){
alert('Должны быть только цифры');
aaa.sss.focus();
break;
}
}
}
</script>
</head>
<body>
<form name=aaa>
<input type="text" name=sss maxlength=4>
<input type="button" VALUE="Отправить" onClick="asd(sss.value)">
</form>
</body>
</html>
Аналог в регулярках.
Код:
function isNumber(elem) {
var str = elem.value;
var re = /^[-]?\d*\.?\d*$/;
str = str.toString( );
if (!str.match(re)) {
alert("Должны быть только цифры.");
return false;
}
return true;
}
Первый вариант не учитывает отрицательность числа. Второй взят из книги O'Relly.