php验证:字符串中没有空格

时间:2013-12-19 20:42:55

标签: php html wordpress validation

我正在设置与wordpress联系表单7插件结合使用的自定义php表单验证,我已将验证规则设置为文本字段,我只希望人们键入1个单词(即没有空格)和这个单词以字母s开头。
字母s验证工作得很好,但是当这个工作时,没有空格(一个字)验证似乎没有工作?
PHP:

if($name == 'FirstField') {
        $FirstField = $_POST['FirstField'];

        if($FirstField != '') {
            if (!preg_match("/(^[^s]|\s)/i",$FirstField)){
                $result['valid'] = true;
            } else {
                $result['valid'] = false;
                $result['reason'][$name] = 'Invalid Entry.';
            }
        }
    }

任何建议都将不胜感激!

3 个答案:

答案 0 :(得分:2)

测试:

  

if($ name =='FirstField'){           $ FirstField = $ _POST ['FirstField'];

    if($FirstField != '') {
        if (!preg_match("/(^[^s]|\+s)/i",$FirstField)){
            $result['valid'] = true;
        } else {
            $result['valid'] = false;
            $result['reason'][$name] = 'Invalid Entry.';
        }
    }
}

更新:

if($name == 'FirstField') { $FirstField = $_POST['FirstField'];

    if($FirstField != '' && isset($FirstField) ) {
        $FirstField = explode(' ', $FirstField); //Get only first word
        if (!preg_match("/(^[^s]|\+s)/i",$FirstField[0])){
            $result['valid'] = true;
        } else {
            $result['valid'] = false;
            $result['reason'][$name] = 'Invalid Entry.';
        }
    }
}

FIXED ERROR last:

替换

  

if($ FirstField!=''&& isset($ FirstField)

  

if($ FirstField!=''&& isset($ FirstField))

我希望能帮助你。

答案 1 :(得分:0)

我相信这应该有效:

preg_match("/^s[a-z]*$/i", $FirstField) 

假设你的单词只包含字母。

答案 2 :(得分:0)

以's'开头(不区分大小写),没有空格:preg_match('/^s[^ ]*$/i', $string)

以's'开头(不区分大小写),没有空格(空格,制表符等):preg_match('/^s\S*$/i', $string)

修改

你可能也对\w感兴趣,它匹配“字符”(A-Z,a-z,0-9,_):preg_match('/^s\w*$/i', $string)