Wiki-учебник по веб-технологиям: JavaScript/ПроверкаНаНекоторыеСимволы ...

Главная | Каталог |

Проверка на некоторые символы


Иногда вы хотите ограничивать форму ввода некоторыми символами или числами. Подумайте о номере телефона – ввод должен содержать только цифры (мы предполагаем, что номер телефона не содержит никакие символы). Мы могли бы проверить, является ли ввод числом. Но большинство людей использует различные символы в их номере телефона – например: 01234–56789, 01234/56789 или 01234 56789 (с пробелом между ними). Пользователь не должен быть вынужденным ввести номер телефона без этих символов. Так что мы должны расширить наш сценарий, чтобы проверить цифры и некоторые символы. Это показывается в следующем примере.

Исходный код выглядит так:

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