急急急急急!正确答案双倍给分!谢谢!

蓝精灵的自由宇宙 2014-06-13 12:32:24
15.00到30.00之间这个小数范围的正则表达式, 在线等!求助!万分感谢!
...全文
270 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
不是说好的吗 2014-06-13
  • 打赏
  • 举报
回复
猿敲月下码 2014-06-13
  • 打赏
  • 举报
回复
引用 8 楼 thc1987 的回复:
  <script type="text/javascript"> 
var regex = /^((1[5-9]|2[0-9])([.]{1}[0-9]{2})?)|(30.00)$/;

// 测试
var i = 15.00;
var falseCount = 0;
var errorNum = '';
do{
	if(!regex.test(i+'')){
		falseCount++;
		errorNum +=' ' + i;
	}

	i=i+0.01;
}while(i>=15.00 && i<=30.00)

alert('出错个数:'+falseCount + '出错数字:'+errorNum);
  </script>
更正下 var regex = /^((1[5-9]|2[0-9])([.]{1}[0-9]{2})?)|(30(\.[0]{0,})?)$/;
猿敲月下码 2014-06-13
  • 打赏
  • 举报
回复
  <script type="text/javascript"> 
var regex = /^((1[5-9]|2[0-9])([.]{1}[0-9]{2})?)|(30.00)$/;

// 测试
var i = 15.00;
var falseCount = 0;
var errorNum = '';
do{
	if(!regex.test(i+'')){
		falseCount++;
		errorNum +=' ' + i;
	}

	i=i+0.01;
}while(i>=15.00 && i<=30.00)

alert('出错个数:'+falseCount + '出错数字:'+errorNum);
  </script>
  • 打赏
  • 举报
回复
在此谢谢各位大侠啦!
  • 打赏
  • 举报
回复
引用 5 楼 xzy21com 的回复:
    var str = "15.99";
    var b = /^((1[5-9]|2\d)(\.\d{1,2})?|30(\.0?0?)?)$/.test(str);//限制2位小数内
    var c = /^((1[5-9]|2\d)(\.\d*)?|30(\.0*)?)$/.test(str);//不限制小数位
    console.log(b,c)
恩恩,写的真棒!谢啦啦,
scscms太阳光 2014-06-13
  • 打赏
  • 举报
回复
    var str = "15.99";
    var b = /^((1[5-9]|2\d)(\.\d{1,2})?|30(\.0?0?)?)$/.test(str);//限制2位小数内
    var c = /^((1[5-9]|2\d)(\.\d*)?|30(\.0*)?)$/.test(str);//不限制小数位
    console.log(b,c)
  • 打赏
  • 举报
回复
引用 2 楼 zhiaiyahong 的回复:
(1[5-9]|2[0-9])(\.[0-9]{1,})?|30(\.0{1,})? 里边那个应该是1吧,楼上你怎么看
非常好! 我验证过啦, 都能通过,就是30.0貌似不行, 里面是1 或者0 , 我验证的结果是都可以. thank
  • 打赏
  • 举报
回复
引用 1 楼 kendyjack 的回复:

var re = /^((1[5-9]|2[0-9])(\.[0-9]{0,})?)|(30(\.[0]{0,})?)$/;
var a = 30;
alert(re.test(a));
非常好! 我验证过啦, 都能通过,就是30.0貌似不行
zhiaiyahong 2014-06-13
  • 打赏
  • 举报
回复
(1[5-9]|2[0-9])(\.[0-9]{1,})?|30(\.0{1,})? 里边那个应该是1吧,楼上你怎么看
  • 打赏
  • 举报
回复
再者,你即便用了jquery.validate.js这样的表单验证插件,你也可以自行扩展定义自己的验证方法,而不是单纯的靠正则,你甚至可以利用它的插件 结合ajax 提交给后台做验证,比如输入用户判断是否重复,而不是单纯的依赖正则
夜雨_Jason 2014-06-13
  • 打赏
  • 举报
回复

var re = /^((1[5-9]|2[0-9])(\.[0-9]{0,})?)|(30(\.[0]{0,})?)$/;
var a = 30;
alert(re.test(a));
  • 打赏
  • 举报
回复
引用 12 楼 functionhill 的回复:
我觉得这个完全没有必要。 只要判断字符串(转数值)是大于等于15.00和小于等于30.00就可以了。
嗯嗯, 把最简单的方式给忘记了, 我的思维快被validform困住了.....谢啦啦
  • 打赏
  • 举报
回复
引用 11 楼 Return_false 的回复:
为什么不直接判断数字区间,而非要去考虑正则,如果单纯的为了学习正则而为之,倒是不错的选择,这样的需求在项目中用正则来去匹配显然不是最好的选择。
嗯嗯 问题解决的一种方案, 因为用的是validform验证框架, 所以就按照着这个验证框架来的...... 我也没有太多的看validform的官方文档,不知道行不行, 不过谢谢啦! 我的思维快被这个validform给困住啦
巴山虎 2014-06-13
  • 打赏
  • 举报
回复
我觉得这个完全没有必要。 只要判断字符串(转数值)是大于等于15.00和小于等于30.00就可以了。
  • 打赏
  • 举报
回复
为什么不直接判断数字区间,而非要去考虑正则,如果单纯的为了学习正则而为之,倒是不错的选择,这样的需求在项目中用正则来去匹配显然不是最好的选择。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧