我要检查字符串是否是数字。在我的情况下,可接受的数字范围与带有小数点的大数之类的相差很大;
header('Content-Type: application/json');
echo json_encode(array(
"age" => 4,
"name" => "baby",
));
上面的值应该匹配!
不匹配的值是;
100000000000000000.000000000000000001
1
25.9897
我该如何处理?
答案 0 :(得分:1)
^\d+(\.\d+)?$
任意长度的数字\d+
,然后是一些可选的小数部分(\.\d+)?
利用行锚^
和$
过滤e19
可能的问题可能是类似的值; 010.5
,领先的0
可能会有问题,可以接受吗?否则,将使用尾随0
来过滤值的方法; ^[1-9]\d*(\.\d+)?$
。仅供参考