我正在尝试对数字输入加字母X或x进行验证。到目前为止,我有:
if(preg_match('/[^0-9xX]+$/', $data)) return 'error';
除了a123之外,它正确地返回所有情况的错误。谁知道为什么?
答案 0 :(得分:0)
试试这个:
if(preg_match('/^[0-9x]+$/i', $data)){
echo 'match';
}else{
echo 'no match';
}
它和你的一样,只是相反。 ^是字符串的开头。 $对于字符串的结尾。所以整个字符串必须与模式匹配。
答案 1 :(得分:0)
if(!preg_match('/^([0-9]+|[xX])$/', $data)) return 'error';
也许这会更好,
它匹配正确的大小写,并在匹配结果之前添加!
。