PHP正则表达式数字加一个字母
PHP regular expression numeric plus one letter
我正在尝试对数字输入加上字母 X 或 x 进行验证。到目前为止我有:
if(preg_match('/[^0-9xX]+$/', $data)) return 'error';
对于除 a123 之外的所有情况,它都是正确的 returns 错误。有人知道为什么吗?
在正则表达式的开头使用 ^
来检查是否是完整字符串而不是子字符串。
if(preg_match('/^[0-9xX]+$/', $data))
return 'error';
试试这个:
if(preg_match('/^[0-9x]+$/i', $data)){
echo 'match';
}else{
echo 'no match';
}
它和你的一样,只是反过来了。 ^ 是字符串的开头。 $ 为字符串的结尾。所以整个字符串必须匹配模式。
if(!preg_match('/^([0-9]+|[xX])$/', $data)) return 'error';
也许这样会更好,
匹配正确的大小写,在匹配结果前加上!
。
我不明白。
if(preg_match('/^[0-9xX]+$/', $data)) return 'error';
当我们输入 123 时仍然没有 return 错误。
如有误会请见谅
if(preg_match('/[0-9]xX$/', $data)) return 'error';
所有数字后面都会有xX。 CMIIW.
我正在尝试对数字输入加上字母 X 或 x 进行验证。到目前为止我有:
if(preg_match('/[^0-9xX]+$/', $data)) return 'error';
对于除 a123 之外的所有情况,它都是正确的 returns 错误。有人知道为什么吗?
在正则表达式的开头使用 ^
来检查是否是完整字符串而不是子字符串。
if(preg_match('/^[0-9xX]+$/', $data))
return 'error';
试试这个:
if(preg_match('/^[0-9x]+$/i', $data)){
echo 'match';
}else{
echo 'no match';
}
它和你的一样,只是反过来了。 ^ 是字符串的开头。 $ 为字符串的结尾。所以整个字符串必须匹配模式。
if(!preg_match('/^([0-9]+|[xX])$/', $data)) return 'error';
也许这样会更好,
匹配正确的大小写,在匹配结果前加上!
。
我不明白。
if(preg_match('/^[0-9xX]+$/', $data)) return 'error';
当我们输入 123 时仍然没有 return 错误。
如有误会请见谅
if(preg_match('/[0-9]xX$/', $data)) return 'error';
所有数字后面都会有xX。 CMIIW.