Поиск

Проверка на наличие определенных символов

В некоторых случаях Вам понадобится ограничивать информацию, вводимую в форму, лишь некоторым набором символов или чисел. Достаточно вспомнить о телефонных номерах - представленная информация должна содержать лишь цифры (предполагается, что номер телефона, как таковой, не содержит никаких символов). Нам необходимо проверять, являются ли введенные данные числом. Сложность ситуации состоит в том, что большинство людей вставляют в номер телефона еще и разные символы - например: 01234-56789, 01234/56789 or 01234 56789 (с символом пробела внутри). Не следует принуждать пользователя отказываться от таких символов в телефонном номере. А потому мы должны дополнить наш скрипт процедурой проверки цифр и некоторых символов. Решение задачи продемонстрировано в следующем примере, взятом из моей книги о JavaScript:

<html>
<head>
<script language="JavaScript">
<!-- hide

function check(input) {­
var ok = true;

for (var i = 0; i < input.length; i++) {­
var chr = input.charAt(i);
var found = false;
for (var j = 1; j < check.length; j++) {­
if (chr == check[j]) found = true;
}
if (!found) ok = false;
}

return ok;
}

function test(input) {­

if (!check(input, "1", "2", "3", "4",
"5", "6", "7", "8", "9", "0", "/", "-", " ")) {­

alert("Input not ok.");
}
else {­
alert("Input ok!");
}
}

// -->
</script>
</head>

<body>
<form>
Telephone:
<input type="text" name="telephone" value="">
<input type="button" value="Check"
onClick="test(this.form.telephone.value)">
</form>
</body>
</html>

Функция test() определяет, какие из введенных символов признаются корректными.