понедельник, 15 мая 2017 г.

JS. 13. Регулярные выражения

Регулярные выражения определяют правила подобия одной строки к другой строке, которая является регулярным выражением.


<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>Регулярные выражения</title>
<script type="text/javascript">
// Регулярные выражения определяют правила подобия одной строки к другой строке, которая является регулярным выражением.

var str = "Some string";
// Метод match. Выражение пишется без кавычек. i - означает без учета регистра
if(str.match(/r+/i)) document.write("Найдена последовательность символов r");
else document.write("Не найдена последовательность символов r");

// Функция проверки формы.
function checkForm(form) {
var email = form.email.value; // получаем значение поля
// ^ - начало строки. Начинается все либо с буквы, либо с цифры: a-z0-9
// обычный символ или число и точка, подчеркивание и дефис: [a-z0-9\._]
// мы экранируем точку обратным слешем
// * идет сколько угодно раз
// завершают все буквы или цифры, которые идет сколько угодно раз до знака собаки: [a-z0-9]*@
// после собаки идут буквы или цифры до точки: ([a-z0-9]+([a-z0-9-]*[a-z0-9]+)*\.)+
// кончается только буквами, которые д.б хотя бы один раз и конец строки: [a-z]+$
var m = email.match(/^[A-Za-z0-9][A-Za-z0-9\._-]*[A-Za-z0-9_]*@([A-Za-z0-9]+([A-Za-z0-9-]*[A-Za-z0-9]+)*\.)+[A-Za-z]+$/);


// m - булевское значение
if(!m) {
alert("E-mail введен неверно.");
return false;
}
return true;
}
</script>
<!-- Проверим e-mail из формы на корректность -->
<form name="myform" action="https://www.yandex.ru/" method="post" onsubmit="return checkForm(this)">
<p>
E-mail: <input type="text" name="email"/>
</p>
<p>
<input type="submit" value="Отправить"/>
</p>
</form>
</body>
</html>

Комментариев нет:

Отправить комментарий