我的问题是,我有一个填写blabla的表格,在我提交后我需要检查var' $ number'仅包含9个数字。这意味着如果它包含至少1个字母或者长度小于或大于9,则应该返回false,否则它应该返回true;
这是我到目前为止所得到的:
if (!is_numeric ($number) {
//do
} else {
}
第一个问题:此代码应该处理唯一的数字部分,但它不会,它总是返回false。 第二:你们知道如何处理9位数的验证吗?
感谢和抱歉我的英语不好,而不是我的母语:P
答案 0 :(得分:1)
您的号码可能包含不需要的空格,导致is_numeric()
测试无法正常工作
请执行以下操作:$number = trim($number);
删除它们。
然后确实这个片段可以检查你的变量是否是一个数字:
if (!is_numeric ($number)) {
//do
} else {
}
对于数字位数,请执行if
语句,以查看您的号码是否在100000000
和999999999
之间
所以完整的代码将是:
$number = trim($number);
if (!is_numeric ($number)) {
//do
} else {
if ($number >= 100000000 && $number <= 999999999) {
// Everything is ok
} else {
}
}
答案 1 :(得分:0)
没有理解你的完整问题,因为你的母语:p,但我想你想要这个:
if (is_numeric($number) {
if(strlen($number) == 9){
return true;
} else {
return false;
}
} else {
echo 'Not a number';
}
答案 2 :(得分:0)
检查它是否包含数字并检查其是否包含9。
$number = '123456789';
if(!preg_match('/^\d{9}$/', $number)) {
echo 'not ok';
} else {
echo 'ok';
}