Как создать регулярное выражение для проверки испанских номеров мобильных телефонов?
Они должны соблюдать следующие правила.
С начала:
- [по желанию]
+34
- [по желанию]
34
- [по желанию]
0034
Отсюда у вас должно быть:
- Ровно 9 цифр (допускаются пробелы и дефисы)
- Первое число должно быть
6
или7
Действительный:
666444555
666-444-555
666 44 45 55
666-44-45-55
+34666555444
0034666555444
Недействительный
935554488
+44777555444
800444666
635*554*488
635/554/488
ПРИМЕЧАНИЕ. Он помечен как java , потому что именно так я собираюсь его анализировать
String
, и если вы хотите показать код. Конечно, это не обязательно, мне достаточно регулярного выражения.
Это регулярное выражение должно помочь:
У меня нет под рукой среды Java, но все упомянутые тестовые случаи проходят в инструменте RegexPlanet .
Я рекомендую вам использовать
libphonenumber
( библиотека Google для проверки телефонных номеров). У него много преимуществ по сравнению с вашей собственной реализацией, например, вам не нужно поддерживать его самостоятельно и что он дает вам номер в международном формате, независимо от того, как пользователь его вводит.Пример того, как он используется:
Теперь есть несколько методов, но наиболее важным будет:
Если вы хотите увидеть номер в международном формате:
Чтобы посмотреть демо и проверить, точно ли оно соответствует всем вашим требованиям, вы можете перейти сюда .