作业帮 > 综合 > 作业

求个正则表达式,验证1个数字,整数10位以内,小数5位以内

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/13 07:59:13
求个正则表达式,验证1个数字,整数10位以内,小数5位以内
谢谢.
暂时研究到这个:
^([-+]?\d{1,10})(\.\d{1,5})?$
请LZ看看是否适合.
说明一下:
[-+]? 匹配正负号
\d{1,10} 匹配1到10位数字
(\.\d{1,5})? 匹配小数,如果有小数点,则必须接1到5位的数字,只有小数点则不匹配
^和$当然就是匹配开始结束了
另外,LZ可以下个RegexTester(正则表达式测试器),很不错的工具
顺表也贴上测试代码吧(PHP)
function check($num) { //检查函数
\x09$reg = '/^([-+]?\d{1,10})(\.\d{1,5})?$/'; //正则表达式
\x09if(preg_match($reg, $num)) {
\x09\x09echo 'the num: ' . $num . ' ---- yes!
';
\x09} else {
\x09\x09echo 'the num: ' . $num . ' ---- no!
';
\x09}
}
$numbers = array( //一些测试数据
\x091 => -0.14,
\x092 => +0.14,
\x093 => 1234567891,
\x094 => 12345678912,
\x095 => 123456.123,
\x096 => 123456,123456,
\x097 => 1234.,
\x098 => 0000.12345,
\x099 => 0.123456
);
array_walk($numbers, 'check'); //对个数组中的每个值执行check函数