这个功能本来可以使用整型判断的,特殊情况需要用PHP正则来判断,于是写了PHP正则来判断,想效率的可以忽略以下内容
大于1且小于100的整数符合情况:
1、一位数的 也就是2到9
2、两位数的 也就是10到99
首先是2到9 很容易想到[2-9]
再是10-99 十位数就是可以[1-9]
百位可以是[0-9] 或 \d
总来说就是 [2-9]|[1-9]\d
加上断言就是 ^[2-9]|[1-9]\d$
想要完美效率就是^(?:[2-9]|[1-9]\d)$
最后上测试的PHP代码:
function cheackint($str){
$search = '/^(?:[2-9]|[1-9]\d)$/';
if(preg_match($search,$str,$r)) {
echo '是2到99的整数
';
}else {
echo '不是2到99的整数
';
}
}
$str = '12';
cheackint($str);
//ouput 是2到99的整数
$str = '1';
cheackint($str);
//ouput 不是2到99的整数
$str = '100';
cheackint($str);
//ouput 不是2到99的整数
$str = '1.0';
cheackint($str);
//ouput 不是2到99的整数
?>
end
附件下载/演示源码:
【 check1-99.htm 】 4.98KB