2012-01-30 3 views
0

Привет, у меня есть проблема с функцией preg_match.
Я хочу проверить весь текст против шаблона и вернуть true, если весь текст соответствует шаблону и false для не согласованного или частично совпадающего с шаблоном, но я не могу сделать это с помощью функции php preg_match.
например, я использую функцию fun для проверки ввода цифр или нет.Как использовать preg_match для проверки всего текста

if(preg_match("/[\d]/","99ab") return true; else return false; 

выше код возвращает true, но я хочу, чтобы это возвращало false. и другое регулярное выражение, которое я хочу проверить, - это имя пользователя и фамилия пользователя с preg_match.
и другое регулярное выражение для телефонных номеров с этим форматом (000) 000-0000.
, пожалуйста, помогите мне решить эту проблему.

+0

проверить IF синтаксис – Michal

+0

возможный дубликат [сопоставления регулярных выражений для всей строки] (http://stackoverflow.com/questions/8571226/regular-expression-matching-for-entire-string) – mario

ответ

1

Просто изменить шаблон, как это:

"/^[\d]+$/" 

помнить, что:

  • ^: означает начало строки
  • $: означает конец строки
+0

вы можете дать me regex for (000) 000-0000 –

+0

это правда? if (preg_match ('/^\ (\ d {3} \) \ d {3} - \ d {4} $ /', "(112) 000-0000")) –

+0

@fireboy: Кронштейны ('('и') ') используются в регулярных выражениях для группировки, поэтому вам необходимо их избежать. – Tadeck

1

Вам нужно использовать ^, чтобы указать начало строки и $ для конца

if (preg_match("/^[\d]+$/","99ab")) return true; 
else return false; 
+0

ok для этого регулярного выражения, но я не могу использовать ваше предложение для следующего регулярного выражения для проверки номера телефона в этом формате (000) 000-0000 if (preg_match ('/^(\ d {3}) \ d {3} - \ d {4} $/', "(000) 000-0000")) return true; else возвращает false; эта функция возврат ложь! –

+1

Я считаю, что вам нужно избежать скобок: например. '/^\ (\ d {3} \) \ d {3} \ - \ d {4} $ /' – pjumble

+0

спасибо У меня есть другая проблема с именами пользователей и фамилии. например, я использую это регулярное выражение для имени ("/^[a-zA-Z] $ /", "Alex"), но это не работает с preg_match !. для полного имени, которое имеет регулярное выражение? regex для alex delpiero? которые начинаются с символа char с символом и пробелом между именем и фамилией. –