|
|
|
|
|
для: TetRiska
(25.04.2013 в 13:00)
| | Ну раз так, то можно и Вашим регулярным проверить, только опять же, чуть подправить
<?php
$pattern = "#^[-+0-9()\s]+$#";
?>
|
если служебные символы, в Вашем случае это ")", "(", "+", присутствуют в символьном классе, то их не надо экранировать.
Если бы Вам надо было вернуть из строки то, что находится в круглых скобках, например, то тогда надо экранировать круглые скобки.
<?php
$str = 'вернуть то, что в (круглых скобках)';
$pattern = "#\((.+)\)#u";
?>
|
Вот как-то так, пример не проверял))) | |
|
|
|
|
|
|
|
для: Slo_Nik
(25.04.2013 в 02:08)
| | дело в том, что мне не нужно жестко следовать формату, не все на портале будут верно вводить, уже проверенно, многие просто плюнут и пойдут дальше, поэтому было принято решение пусть вводят "+", "(", ")", цифры как душе угодно, главное не допустить иные символы, не входящие в номер телефона...нужно только обрезать в начале ив конце пробелы, желательно подправить регулярку, пыхой можно забыть обработать | |
|
|
|
|
|
|
|
для: TetRiska
(24.04.2013 в 14:01)
| | удаляйте пробелы trim(), раз можно обойтись без регулярки, то обходитесь.
По поводу регулярного выражения...
А Вы проверяли как оно работает?
Может проще проверить самому и исправить возможные ошибки?
И немного не в тему.
Я бы чуть по другому составил выражение.
В Вашем случае такие символы как "+", ")", "(" (и не только) могут присутствовать в любом месте строки и представьте какая каша будет в форматах телефонных номеров.
Можно писать
+ 495 123-(55)-25
или +7 (+495) 123-25-52
и ещё куча вариантов
Когда Вы выводите подобные телефонные номера, то что за бред получится? Каждый будет извращаться как захочет.
А если попробовать начать с этого, то может будет лучше?
<?php
$phone = "+7(495) 123-25-52";
$pattern = "#^\+[0-9]{1,2}\s?\([0-9]{3}\)\s?[0-9]+\-[0-9]+\-[0-9]+$#";
if(preg_match($pattern, $phone, $out)){
echo "Номер правильно написан";
}
else{
echo "Номер неправильно написан";
}
?>
|
В таком случае номер телефона можно будет указать только в одном формате и когда будете выводить список номеров, то всё будет красиво)))
p.s. Регулярка не идеальна, но...))) | |
|
|
|
|
|
|
| Всем привет. Вот написал регулярку и мне интересно насколько верно все я экранировал и вообще составил. Регулярка пропускать должна + - ( ) пробел и цифры.
И как по краям лишние пробелы удалить. можно через пхп, но уже раз регулярка, то ею. | |
|
|
|
|