@maksim-mshp

Перевести регулярное выражение в PHP?

Здравствуйте. Имеются функции для проверки e-mail и номера телефона на валидность.
function ValidMail(n) {
    var re = /^[\w-\.]+@[\w-]+\.[a-z]{2,4}$/i;
    var valid = re.test(n);
    return valid;
}
 
function ValidPhone(n) {
    var re = /^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$/i;
    var valid = re.test(n);
    return valid;
}


Как работать с регулярными выражениями в PHP? У них такой же синтаксис как в JS? Помогите пожалуйста переписать эти функции.
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
Синтаксис такой же

$foo = 'myemail@mail.com';
preg_match('/^[\w-\.]+@[\w-]+\.[a-z]{2,4}$/i', $foo, $matches);
echo $matches[0];
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
ArsenyMatytsyn
@ArsenyMatytsyn
Руководитель frontend направления, предприниматель
Сами регулярки уинверсальный для языков программирования. Но несколько отличается синтаксис их объявления и записи. В JS можно занести, к примеру в виде строки с экранированием, или конструктора RegExp. В PHP не помню, чтобы были отличия (в плане экранирования), но тебе стоит обратиться непосредственно к документации для этого.

При этом, как верно отметил SagePtr в комментариях, сервис конфигуратор позволяет проверить как регулярку, так и получить ее форму записи в ЯП. Обрати внимание на панель слева.
Ответ написан
Комментировать
@Tsybinn
вот неплохой материал по регуляркам php old.code.mu/books/php/regular/rabota-s-regulyarnym...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы