2011-02-12 3 views
1

У меня есть поле имени, и я хочу проверить, поэтому первый символ должен быть в алфавитном порядке имени и разрешать пробелы и тире после. У меня есть это так, но это позволит «-» как первый символ.preg_match строка должна начинаться с алфавитного символа

preg_match("/^([a-z -])+$/i", $str) 

Благодаря

ответ

1

конкретности является лучшим вариантом. Но вы можете также использовать утверждение:

preg_match("/^(?![- ])([a-z -])+$/i", $str) 

(?!..) может исключить символы из встречающихся первых. Вы также можете использовать положительное утверждение, например (?=\w).

+0

Я думаю, что утверждения lookbehind являются '(? BoltClock

+0

@BoltClock: На самом деле это не выглядело, а выглядело. Он утверждает сразу * следующие * символы здесь – mario

+0

Это называется lookahead btw. http://www.pcre.org/pcre.txt – chx

Смежные вопросы