如何在
PHP中验证十进制数.我查看了is_numeric(),但这对我不起作用:
bool is_numeric ( mixed var )
Finds whether the given variable is
numeric. Numeric strings consist of
optional sign,any number of digits,
optional decimal part and optional
exponential part. Thus +0123.45e6 is a
valid numeric value. Hexadecimal
notation (0xFF) is allowed too but
only without sign,decimal and
exponential part.
我不想要指数部分或十六进制表示法.用户将输入简单的十进制值,我不希望类型-o碰巧是有效的指数或十六进制值.我只想将“传统”十进制数字视为有效.
在这里编辑一个简单(强力)页面,其中包含更完整的测试数据(应该和不应该被视为数值).
function TestFunction($s_value) {
//
// your code here
//
return; //true or false;
}
print 'these are valid numbers and should return "true"
';
print '
';
$s_value='123'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='+1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='-1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value=' 1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='1 '; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value=' 1 '; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='12345.1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='6789.01'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='-1.1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='+1.1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='0'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='00001.1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='.1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='.0000001';print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='5.'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
print '
';print 'these are NOT valid numbers and should return "false"
';
print '
';
$s_value='--------------------------------';print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value=null; print "\n".'$s_value=null,TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='.'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value=''; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value=' '; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value=' '; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='1abc'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='$1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='1@'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='1.2.1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='abc'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='1.45e6'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='0xFF'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='++1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='--1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='1+'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='1-'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='a1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='#1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='10.e5'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='0x1'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
$s_value='0x'; print "\n".'$s_value="'.$s_value.'",TestFunction()='.(TestFunction($s_value)?'true':'false');
print '
';?>