我正在设置与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.';
}
}
}
任何建议都将不胜感激!
答案 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)