小数点前 9 位和小数点后 1 至 3 位数字的正则表达式
Regex for number with 9 digits before the decimal and 1 to 3 digits after the decimal
我一直在尝试做一个正则表达式,它允许小数点前有 9 位数字,如果使用小数点则允许 1 到 3 位数字。
Eg:
123456789 //Valid
1234567890 //Invalid
123456789. //Invalid
123456789.0 //Valid
123456789.00 //Valid
123456789.000 //Valid
123456789.0000 //Invalid
Negative number are ok too
我正在尝试:
<?php
function numbers($val){
return preg_match('/^[0-9]{1,9}([.]{0,1}([0-9]{1,3}))$/i',$val);
}
$n = '1234567899';
if(numbers($n)) {
echo 'Valid Number';
} else {
echo 'Invalid Number';
}
?>
您应该将小数部分设为可选:
^-?[0-9]{1,9}(?:\.[0-9]{1,3})?$
您更新的 PHP 函数:
function numbers($val){
return preg_match('/^-?[0-9]{1,9}(?:\.[0-9]{1,3})?$/i', $val);
}
这是正则表达式模式的演示:
我一直在尝试做一个正则表达式,它允许小数点前有 9 位数字,如果使用小数点则允许 1 到 3 位数字。
Eg:
123456789 //Valid
1234567890 //Invalid
123456789. //Invalid
123456789.0 //Valid
123456789.00 //Valid
123456789.000 //Valid
123456789.0000 //Invalid
Negative number are ok too
我正在尝试:
<?php
function numbers($val){
return preg_match('/^[0-9]{1,9}([.]{0,1}([0-9]{1,3}))$/i',$val);
}
$n = '1234567899';
if(numbers($n)) {
echo 'Valid Number';
} else {
echo 'Invalid Number';
}
?>
您应该将小数部分设为可选:
^-?[0-9]{1,9}(?:\.[0-9]{1,3})?$
您更新的 PHP 函数:
function numbers($val){
return preg_match('/^-?[0-9]{1,9}(?:\.[0-9]{1,3})?$/i', $val);
}
这是正则表达式模式的演示: