Вам необходимо включить в свое регулярное выражение буквальные скобки, которые могут быть там по желанию, и, поскольку они имеют особое значение, следовательно, вам необходимо экранировать их в своем регулярном выражении.
Видя ваш последний номер мобильного телефона 09876543210
, кажетсяВы можете по желанию поддерживать ноль перед числом, если нет кода страны, поэтому вы можете иметь чередование нуля для вашей части кода страны.
И, наконец, вы не хотите поддерживать только число свсе нули, вы можете иметь отрицательный взгляд вперед (?!0+$)
в вашем регулярном выражении.Ваше обновленное регулярное выражение становится,
^(?!0+$)(?:\(?\+\d{1,3}\)?[- ]?|0)?\d{10}$
Live Demo
Кроме того, вы, если вы не хотите поддерживать номера, имеющие только те же цифрыкак 2222222222
или 5555555555
, тогда ваш отрицательный взгляд вперед должен быть записан как (?!(\d)\1+$)
, и ваше регулярное выражение станет,
^(?!(\d)\1+$)(?:\(?\+\d{1,3}\)?[- ]?|0)?\d{10}$
Демо для этого обновленного регулярного выражения
Другим способом проверки мобильных номеров может быть то, что вы заменяете все, что не является цифрой, а также избавляетесь от всех начальных нулей в вашем номере, тогда то, что остается, будет чистым номером мобильного телефона, который вы можете использовать в дальнейшем.проверки.Но там могут быть определенные недостатки, так как это может стать немного сложным для определения кода страны и если номер действительно действителен.Потому что некоторые цифры могут быть менее десяти цифр и могут быть недействительными, но они могут быть действительными, если они принадлежат такой стране, как Сингапур, где, как мне кажется, 8 цифр.И то же самое со странами, имеющими одиннадцать цифр, местный номер может вас беспокоить.