Мне нужно проверить номер телефона в PHP. Я сделал следующее регулярное выражение, но мне также нужно, чтобы он принимал числа, начиная с плюс char, как я могу это сделать?
^[0-9]$
Регулярное выражение, указанное в вашем вопросе ( ^[0-9]$
), будет соответствовать только одному номеру телефона.
По крайней мере вам, вероятно, нужно добавить модификатор +
, чтобы разрешить одну или несколько цифр:
^[0-9]+$
Чтобы добавить опцию +
в начале, вам нужно будет избежать ее, поскольку символ +
является специальным символом в регулярных выражениях:
^\+?[0-9]+$
И, наконец, \d
является сокращением для [0-9]
поэтому вы можете сократить выражение до
^\+?\d+$
используйте это / ^ (+ \ d) \ s ((\ d {3}) \ s *) * \ d {3} (- {0,1} | \ s {0,1}) \ d {2} (- {0,1} | \ s {0,1}) \ д {2} $ /;
Попробуй это:
/^[\+]?([0-9]*)\s*\(?\s*([0-9]{3})?\s*\)?[\s\-\.]*([0-9]{3})[\s\-\.]*([0-9]{4})[a-zA-Z\s\,\.]*[x\#]*[a-zA-Z\.\s]*([\d]*)/
будет соответствовать:
+1 (111) 111-1111, # 111
111-111-1111
(111) 111-1111 x 1
111.111.1111×1
и т.п.