扫码关注官方订阅号
请填入数字或数字范围,数字范围用短折现隔开。例如“7”、“7.8”、“7.8-8.8”
ringa_lee
/^(?:\d|(?:[1-9]\d+))(?:\.(?:\d+)?)?(-(?:\d|(?:[1-9]\d+))(?:\.(?:\d+)?)?)?$/
var regx = /^(?:\d|(?:[1-9]\d+))(?:\.(?:\d+)?)?(-(?:\d|(?:[1-9]\d+))(?:\.(?:\d+)?)?)?$/ arr=['0','0.','0.0','0.1','01','0..','.0','01.0','000','123','0-0','0.-0.','0.0-0.0','0.1-0.5','01-02','0..-0..','.0-.0','01.0-02.0','000-123','123-456','7.1-9.5'] arr.forEach(function(s){console.log((s+' ').substr(0,10), regx.test(s)?'√':'×')})
0 √ 0. √ 0.0 √ 0.1 √ 01 × 0.. × .0 × 01.0 × 000 × 123 √ 0-0 √ 0.-0. √ 0.0-0.0 √ 0.1-0.5 √ 01-02 × 0..-0.. × .0-.0 × 01.0-02.0 × 000-123 × 123-456 √ 7.1-9.5 √
以下这个正则表达式表示输入整数或小数,比如 01.12,012 都是非法的
var reg = /^(((?!0)\d+|0)|((?!0)\d+|0)\.\d+)$/ reg.test('0.12')
基于这个修改
var r2 = /^(((?!0)\d+|0)|((?!0)\d+|0)\.\d+)(-(((?!0)\d+|0)|((?!0)\d+|0)\.\d+))?$/ r2.test('7.8-8.8')
当然你也可以 split('-') 之后数组每一项都满足整数或小数的正则表达式且数组长度是 1 或 2
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
以下这个正则表达式表示输入整数或小数,比如 01.12,012 都是非法的
基于这个修改
当然你也可以 split('-') 之后数组每一项都满足整数或小数的正则表达式且数组长度是 1 或 2