preg_match错误未知修饰符'{'

时间:2012-04-23 21:36:10

标签: php regex

这有什么问题?

if((preg_match('[a-zA-Z]{1,7}+',$_POST['naam'])) and (preg_match('[^\@\#\<\>\&\*\/]+[a-zA-Z0-9]+!',$_POST['password'])))

第一个正则表达式我想要一个1-7长的字符串,只包含字母。

第二个正则表达式我想要一个包含字母和数字的字符串!在末尾。

2 个答案:

答案 0 :(得分:8)

您在正则表达式周围缺少分隔符:

if((preg_match('/[a-zA-Z]{1,7}+/',$_POST['naam'])) and (preg_match('/[^\@\#\<\>\&\*\/]+[a-zA-Z0-9]+!/',$_POST['password'])))

答案 1 :(得分:3)

{1,7} - 这意味着1到7

{1,7}+ - 这很尴尬,因为+表示前面的char应该至少一次。通常用作[a-z]+&lt; - 需要a-z

{1,7}+错了。