PHP正则表达式数字加一个字母

时间:2015-08-27 08:10:14

标签: php regex expression

我正在尝试对数字输入加字母X或x进行验证。到目前为止,我有:

if(preg_match('/[^0-9xX]+$/', $data)) return 'error';

除了a123之外,它正确地返回所有情况的错误。谁知道为什么?

2 个答案:

答案 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';

也许这会更好, 它匹配正确的大小写,并在匹配结果之前添加!