Рейтинг:
1
OriginalGriff
Если вам нужен один префикс"+", то попробуйте:
^\+?\d+$
Но... Я бы, наверное, использовал
^\+?\d{7,15}$
чтобы ограничить его максимальной длиной числа:
План нумерации телефонов - Википедия[
^]
Если вы собираетесь играть с регулярными выражениями, получите копию
Экспрессо[
^] - это бесплатно, и он проверяет и генерирует регулярные выражения.
jsc42
Решение @OriginalGriff проверяет все поле за один раз, поэтому измените #().keypress на #().change (я не эксперт jQuery) и протестируйте значение поля, а не нажатие клавиши события.
Member 13951173
У него все еще есть проблема, когда я попробовал тот, который вы рекомендуете, он прямо позволит алфавит
OriginalGriff
Нет, это не так - это регулярное выражение допускает только один (необязательный) ведущий "+", за которым следует от 7 до 15 цифр. Никакие Альфа-символы или знаки препинания не допускаются.
Я бы посоветовал вам использовать отладчик, чтобы посмотреть, что именно происходит - я подозреваю, что проблема находится в другом месте вашего кода...
Member 13951173
новое регулярное выражение("^[0-9]+$") означает ли это изменение вот так?
новое регулярное выражение("^\+?\d{7,15}$") <-- вот так?
OriginalGriff
Итак, вы говорите: "Я не пробовал, но это не сработало"?
Есть ли смысл кому-то пытаться помочь вам, если вы игнорируете то, что они говорят?
Member 13951173
Я действительно пытался, но это все еще позволяет алфавит
OriginalGriff
Тогда либо вы ввели его неправильно - и я не вижу вашего кода, - либо он находится где-то еще в вашем коде.
Что вам показал отладчик?
Member 13951173
Как это увидеть в notepad++ ??
OriginalGriff
Разве вы не знаете, как использовать отладчик?
Блокнот не является отладчиком - отладчик-это инструмент, который работает во время вашего кода deos и позволяет вам взять под контроль ваше приложение во время его работы, просматривать данные, следить за выполнением, одноступенчатыми строками и так далее.
Google поможет вам, если вы не знаете, что делать - это слишком много для такого маленького текстового поля, как это!