-1

问题:

尝试在提交之前验证表单字段至少包含两个单词。

PHP代码:

if (!preg_match('^\w+\s\w+$', $_POST['freetext']))
{
    $error_array[] = 'missingwords';
}

当前状态:

即使我输入了两个中间有空格的单词,也会打印错误。这里有什么问题?

4

3 回答 3

2

尝试

   if (str_word_count($str)<3){
   // message

  }
于 2013-05-27T07:25:48.810 回答
1
if (!preg_match('#^\w+\s\w+#', $_POST['freetext']))
{
    $error_array[] = 'missingwords';
}

两个问题:

  1. 您需要模式的分隔符。我添加了#
  2. 我删除了 $ 标记,因为您至少需要 2 个字。如果有 $ 标记,则只有正好 2 个单词的字符串才能通过!
于 2013-05-27T07:23:15.133 回答
0

PCRE 正则表达式需要分隔

'/^\w+\s\w+$/'

你需要打开错误报告,它会告诉你的。

于 2013-05-27T07:20:59.357 回答