首页 新闻 会员 周边 捐助

正则表达式,小于等于180且大于等于0的浮点型

0
悬赏园豆:20 [已解决问题] 解决于 2010-11-11 14:10

1.小于等于180且大于等于0的浮点型
可以为0至180的任意数,如0,1,10,179,180都为合法输入,
也可以是0至180之间的小数,小数位不能超过8位,如0.12345678,1.95,18.12345,179.12345678都是合法输入;


2.小于等于90且大于等于0的浮点型
可以为0至90的任意数,如0,1,10,89,90都为合法输入,
也可以是0至90之间的小数,小数位不能超过8位,如0.12345678,1.95,18.12345,89.12345678都是合法输入;

问题补充: 小数位不能超过8位
姚龙海的主页 姚龙海 | 初学一级 | 园豆:172
提问于:2010-11-10 09:30
< >
分享
最佳答案
0

1. 

^(?:[0-9]|[1-9][0-9]|1[0-7][0-9]|180)(\.)?(?(1)[0-9]+)$

2.

^(?:[0-9]|[1-8][0-9]|90)(\.)?(?(1)[0-9]+)$

收获园豆:20
wgz | 小虾三级 |园豆:1254 | 2010-11-10 15:33
你的回答很好,目前需要对小数位限制在1-8位,而且可以输入"179.",应该如何修正?
姚龙海 | 园豆:172 (初学一级) | 2010-11-10 18:30
1. ^(?:[0-9]|[1-9][0-9]|1[0-7][0-9]|180)(\.)?(?(1)[0-9]{0,8})$ 2. ^(?:[0-9]|[1-8][0-9]|90)(\.)?(?(1)[0-9]{0,8})$
wgz | 园豆:1254 (小虾三级) | 2010-11-10 19:57
@wqz 非常感谢你的回答。 对以上正则,还有一个小小的问题,当输入180.12345678或者是90.12345678时,是可以通过的,需要限定输入值不能大于180或者90。 1: 0<X<=180 2: 0<X<=90
姚龙海 | 园豆:172 (初学一级) | 2010-11-11 08:58
不客气,呵呵 1: ^(?:(?:[1-9]|[1-9][0-9]|1[0-7][0-9])(\.)?(?(1)[0-9]{0,8})|180|0\.[0-9]{1,8})$ 2: ^(?:(?:[1-9]|[1-8][0-9])(\.)?(?(1)[0-9]{0,8})|90|0\.[0-9]{1,8})$ 这样应该没问题了
wgz | 园豆:1254 (小虾三级) | 2010-11-11 10:34
@wgz 3Q。
姚龙海 | 园豆:172 (初学一级) | 2010-11-11 14:25
正确答案: 1。要求:大于等于0,小等于180的浮点型,且小数位不能超过8位 ^(?:(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(\.)?(?(1)[0-9]{0,8})|180)$ 2。要求:大于等于0,小等于90的浮点型,且小数位不能超过8位 0-9]|[1-8][0-9])(\.)?(?(1)[0-9]{0,8})|90)$
姚龙海 | 园豆:172 (初学一级) | 2010-11-11 14:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册