使用preg_match验证字符串

时间:2010-08-17 14:58:57

标签: php preg-match

我有一个问题对你们来说似乎很简单,但却无法真正理解。到现在为止都会遇到警告。

我是否知道如何接受整数0-9和alpha a-zA-Z的字符串,但最少5个字符,最多15个字符preg_match。感谢

3 个答案:

答案 0 :(得分:7)

试试这个:

preg_match('/^[0-9a-zA-Z]{5,15}$/D', $str)

此处^标记字符串的开头和$ D 修饰符是让$仅匹配行的结尾结束线休息)。这意味着整个字符串必须与模式[0-9a-zA-Z]{5,15}匹配,模式描述字符类[0-9a-zA-Z]的5到15个字符的序列。

答案 1 :(得分:1)

你在帖子中说过

  

我如何接受整数0-9 AND alpha a-zA-Z但

的字符串

如果AND是一个locigal并且读取“letters&& numbers”,这会变得更加复杂:

 ...

 $nd = preg_match_all('/\d/', $text, $m);        # count numbers
 $na = preg_match_all('/[a-zA-Z]/', $text, $m);  # count characters
 $nn = $na + $nd;                                # must be like strlen($text)

 if($nn==strlen($text) && $nn>=5 && $nn<=15 && $na && $nd)
    echo "$text ok";
  else
    echo "$text not ok";

 ...

此致

RBO

答案 2 :(得分:1)

请尝试使用此功能,我已在我的网站上将其作为垃圾邮件过滤器进行了测试。

if (!preg_match("/^[0-9a-zA-Z]{5,80}$/D", "$name")) 
{
die("Error Occured : Please Enter Your Name Before Attempting to Send Message");
}