preg_match错误未知修饰符“{”


preg_match error Unknown modifier '{'

这有什么问题?

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

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

第二个正则表达式我想要一个包含字母和数字的字符串,最后还有一个!

你的正则表达式周围缺少一个分隔符:

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

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

{1,7}+ - 这很尴尬,因为 + 表示前面的字符应该至少一次。 通常用作 [a-z]+ <-- 需要 A-Z

{1,7}+错了。