Объяснение часто используемых операторов проверки электронной почты в PHP.
Автор:Eve Cole
Время обновления:2009-06-06 18:17:18
Я считаю, что любой, кто хорошо изучил PHP, должен знать следующее утверждение для проверки электронной почты, но немногие могут его понять:
<?php
if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[az]{2,3}$",$ электронная почта)) {
echo «Ваша электронная почта прошла предварительную проверку»;
}
?>
В этом предложении первым делом нужно применить функцию eregi, которую довольно легко понять. Просто найдите книгу, и она даст вам объяснение:
Синтаксис: int ereg(шаблон строки, строка строки, массив [regs]);
Возвращаемое значение: целое число/массив. Эта функция анализирует и сравнивает строки на основе правил шаблона.
Значение, возвращаемое результатом сравнения, помещается в параметр массива regs. Содержимое regs[0] — это исходная строка, regs[1] — первая строка, соответствующая правилам, а regs[2] — вторая строка. строка, соответствующая правилам, и так далее. Если параметр regs опущен, он будет просто сравниваться, и возвращаемое значение будет истинным, если оно будет найдено.
Что непросто понять, так это предыдущее регулярное выражение: ^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[ az]{2 ,3}$
В этом регулярном выражении «+» означает, что предыдущая строка появляется один или несколько раз подряд; «^» означает, что следующая строка должна появиться в начале, а «$» означает, что предыдущая строка должна появиться в конце;
"." также является ".", где "" - escape-символ; "{2,3}" означает, что предыдущая строка может появляться 2-3 раза подряд. «()» означает, что содержащийся контент также должен появиться в целевом объекте. «[_.0-9a-z-]» означает любой символ, содержащийся в «_», «.», «-», буквах в диапазоне от a до z и цифрах в диапазоне от 0 до 9;
Таким образом, это регулярное выражение можно перевести следующим образом:
"Следующие символы должны начинаться с (^)", "Символ должен содержать символы "_", ".", "-", буквы в диапазоне от a до z, цифры в диапазоне от 0 до 9 ([ _.0-9a-z-])", "Предыдущий символ встречается хотя бы один раз (+)", @, "Строка состоит из буквы, находящейся в диапазоне от a до z, от 0 до 9 начинается с буквы символ числа, за которым следует хотя бы один символ, содержащийся в «-», любая буква в диапазоне от a до z, любое число в диапазоне от 0 до 9 и, наконец, заканчивается на . ][0-9a-z-]+.))", "Предыдущий символ встречается хотя бы один раз (+)", "Буквы в диапазоне от a до z встречаются 2-3 раза и заканчиваются на него ([ az] {2,3}$)”
Это сложно, не так ли? Вот почему люди используют регулярные выражения.