JavaScript для мага

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


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

(online-версия руководства позволит Вам проверить этот скрипт немедленно)

<html>

<head>

<script language="JavaScript">

<!-- hide

// ******************************************************

// Script from Stefan Koch - Voodoo's Intro to JavaScript

//     http://rummelplatz.uni-mannheim.de/~skoch/js/

//       JS-book: http://www.dpunkt.de/javascript

//    You can use this code if you leave this message

// ******************************************************

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() определяет, какие из введенных символов признаются корректными.



Содержание раздела