Я искал простое регулярное выражение для номера телефона, которое будет соответствовать именно этому формату: (XXX) XXX-XXXX <— с круглыми скобками и пробелом после них требуется
Для моей жизни я не могу понять, почему эта работа не работает (это был тот, который я пытался сделать сам и часами занимался):
^[\(0-9\){3} [0-9]{3}-[0-9]{4}$
Я смотрел всюду в Интернете для регулярного выражения с таким конкретным форматом, что безрезультатно. Пожалуйста помоги?
Работает следующее регулярное выражение
^\(\d{3}\) \d{3}-\d{4}$ ^ = start of line \( = matches parenthesis open \d = digit (0-9) \) = matches parenthesis close
Проблемы, с которыми вы сталкиваетесь:
\(
В противном случае, ты хороший!
вот рабочий
/^\(\d{3}\) \d{3}-\d{4}\s$/
проблемы с вашими:
для сопоставления цифр просто используйте \d
или [0-9]
(необходимы квадратные скобки, вы забыли их в первом случае), чтобы использовать скобки \(
и \)
. Они должны быть экранированы, иначе они будут интерпретироваться как совпадение, и ваше регулярное выражение не будет компилироваться
[]
определить классы символов. например, «в этом единственном месте символа, любое из следующего может совпадать». Ваши скобки смещены:
^[\(0-9\){3} [0-9]{3}-[0-9]{4}$ ^---no matching closer
например
^[0-9]{3} [0-9]{3}-[0-9]{4}$
будет ближе к тому, что вы хотите.
/(\(\d{3}+\)+ \d{3}+\-\d{4}+)/ (000) 000-0000 /(\d{3}+\-\d{3}+\-\d{4}+)/ 000-000-0000