Как сопоставить две цифры в pregmatch?

Я должен вернуть preg_match, чтобы проверить, были ли начальные цифры 9477 или нет и работает правильно. Но теперь я хочу добавить еще одно условие, чтобы добавить 9477 или же 9476 должно быть в силе.

Вот условие:

  1. должен содержать 11 цифр
  2. должен начинаться с 9477 или же 9476

Вот мой код:

preg_match('/^9477\d{7}$/',$Mnumber)

0

Решение

Используйте чередование между двумя числами:

preg_match('/^947(?:7|6)\d{7}$/',$Mnumber)

(?:7|6) это группа без захвата, которая соответствует цифре 7 или же 6, Группа без захвата намного эффективнее, чем группа захвата.

Вы также можете сделать:

preg_match('/^947[76]\d{7}$/',$Mnumber);

[67] это класс символов, который соответствует цифре 7 или же 6

1

Другие решения

Использовать группировку в []

echo preg_match('/^947[76]\d{7}$/',$Mnumber);
1

Просто используйте (9477|9476)

echo preg_match('/^(9477|9476)\d{7}$/',$Mnumber);

Вы также можете использовать:

  1. /^947(7|6)\d{7}$/
  2. /^947[76]\d{7}$/
0
По вопросам рекламы [email protected]