0

这有什么问题?

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

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

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

4

2 回答 2

7

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

if((preg_match('/[a-zA-Z]{1,7}+/',$_POST['naam'])) and (preg_match('/[^\@\#\<\>\&\*\/]+[a-zA-Z0-9]+!/',$_POST['password'])))
于 2012-04-23T21:38:12.157 回答
3

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

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

{1,7}+是错的。

于 2012-04-23T21:40:18.147 回答