Клиентский JavaScript 1.3

         

Использование специальных символов для проверки ввода


В следующем примере пользователь вводит номер телефона. Когда пользователь нажимает Enter, скрипт проверяет правильность ввода. Если номер верен (совпадает с последовательностью символов, специфицированной регулярным выражением), скрипт выводит окно, подтверждающее номер. Если номер введён неправильно, скрипт выводит окно, сообщающее пользователю, что номер введён неправильно.

Регулярное выражение ищет ноль или открывающих скобок \(?, с последующими тремя цифрам \d{3}, с последующими нуль или одной закрывающих скобок \)?, с последующими одним тире, слэшем или десятичной точкой и, если эти символы найдены, запоминает символы ([-\/\.]), с последующими тремя цифрами \d{3}, с последующим запомненным совпадением тире, слэша или десятичной точки и \1, с последующими четырьмя цифрами \d{4}.

Событие Change активируется, когда пользователь нажатием Enter устанавливает значение RegExp.input.

<HTML>
<SCRIPT LANGUAGE = "JavaScript1.2">re = /\(?\d{3}\)?([-\/\.])\d{3}\1\d{4}/function testInfo() {
   OK = re.exec()
   if (!OK)
      window.alert (RegExp.input +
         " isn't a phone number with area code!")
   else
      window.alert ("Thanks, your phone number is " + OK[0])
}</SCRIPT>Enter your phone number (with area code) and then press Enter.
<FORM>
<INPUT TYPE="text" NAME="Phone" onChange="testInfo(this);">
</FORM></HTML>



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