регулярное выражение
всем привет!
помогите составить регулярное выражение на телефон, точнее на возможное присутствие скобок в телефоне может присутствовать цифры в скобках, например (921), но не более 1 раза как записать это в виде регулярного выражения? Регулярное выражение должно быть в формате RegExp |
пример телефона приведите.
8(925)1234567 8(925)123-45-67 7(925)1234567 7(925)123-45-67 +7(925)1234567 +7(925)123-45-67 Я исходил из пративного. Я пользователям дал право писать ()+- , а потом в пыхе просто вырезал и сделал перепроверку |
/[\+\d]\(\d+\)[-\d]/ |
\(\d+\) - вот для этой части нужно указать, что она может быть 1 или 0 раз
\(\d+\)? - такое выражение у меня не работат.. в чем может быть причина? |
theo_, в том, что квантификатор относится к закрыващей скобке, а не всему выражению.
(?:\(\d+\))? |
а с учетом того, что это выражение у меня идет в кавычках - как правильно записать?
символ \ - там становится \\ var phoneTest = "(?:\\(\\d+\\))?"; так правильно? |
theo_, правильно.
|
спасибо всем за помощь
я суть-то понял, но все равно что-то у меня не получается не работает у меня почему-то ни \\d, ни \d если заменить на [0-9]+, то все ок однако выражение со скобками все равно не определяет как правильное без них пожалуйста, а так нет соответственно и пробелы не могу победить... \s и \\s не работают сейчас выражение у меня такое: var phoneTest = "^[+]?[0-9\\-]+(?:\\([0-9]+\\))?[0-9\\-]+[0-9]{1}$"; var regpx = new RegExp(phoneTest); |
всем еще раз спасибо!
разобрался, все заработало, как надо Проблемы были связаны с объектом RegExp, отказался от его использования и все стало отлично ) |
У меня вопрос по url, мне надо удалить из адреса всё после знака вопроса, как это сделать?
Всегда с регулярками была проблема, сделал так: "?id=27".replace(/\?(.)$/, '');//Не работает |
Часовой пояс GMT +3, время: 16:13. |