急,求个js正则:只能输入 0 到 1之间的数。不含0和1 必须以0.开头,小数位数二位就可以了

aspnet_2012 2012-05-15 10:32:29
急,求个js正则:只能输入 0 到 1之间的数。不含0和1 必须以0.开头,小数位数二位就可以了

下面这个好像不行,不能输入0.
<input type="text" onkeyup="value=value.replace(/[^[0-1]$|^0\.[0-9]{1,2}$]/g,'')" >
...全文
1609 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
似梦飞花 2012-05-15
  • 打赏
  • 举报
回复
<input type="text" onkeyup="value=value.replace(/^0\.(?!00)\d{1,2}$/,'')" >
不是很明白你的意思
你的意思是当文本框里满足0.01到0.99间的数时就清空吗?
而且onkeyup是每按一个键就执行一次 所以如果你要求小数点后可以是一个数字的话,还没等你输第二个数字时就清空了,0.0也满足\.(?!0{2})
aspnet_2012 2012-05-15
  • 打赏
  • 举报
回复
哦,你这是必须要有二位小数。我的意思是最多二位小数,可以是1位。怎么弄?
另外,可以用onkeyup做吗?那样体验会更好一点。

[Quote=引用 9 楼 的回复:]

引用 8 楼 的回复:
HTML code


<input type="text" onblur="this.value=this.value.replace(/^(?!0\.(?!0{2})\d{2}$).+$/,'')" >





只要输入的值 不满足 0.×× 失焦就会清空


是可以的,输入的值在0.00到0.99之间 不包含0.00
[/Quote]
001007009 2012-05-15
  • 打赏
  • 举报
回复

<input type="text" onblur="this.value=this.value.replace(/^(?!0\.(?!0{2})\d{2}$).+$/,'')" >




只要输入的值 不满足 0.×× 失焦就会清空
licip 2012-05-15
  • 打赏
  • 举报
回复
你要把你的代码贴出来。看看是什么问题。
aspnet_2012 2012-05-15
  • 打赏
  • 举报
回复
如果能用 onkeyup做是最好的了,
aspnet_2012 2012-05-15
  • 打赏
  • 举报
回复
不行啊,不管输什么,离开后就清空了。

[Quote=引用 4 楼 的回复:]

HTML code

<input type="text" onblur="this.value=this.value.replace(/^(?!0\.(?!0{2})\d{2}).+$/,'')" >




失焦的时候 触发,如果用onkeyup,输一个就被替换一个了。
[/Quote]
001007009 2012-05-15
  • 打赏
  • 举报
回复

<input type="text" onblur="this.value=this.value.replace(/^(?!0\.(?!0{2})\d{2}).+$/,'')" >



失焦的时候 触发,如果用onkeyup,输一个就被替换一个了。
aspnet_2012 2012-05-15
  • 打赏
  • 举报
回复
大师,我放在onkeyup里面好像不对啊。能直接在我上面那个上改么?也就是写在

onkeyup=里面,

[Quote=引用 1 楼 的回复:]

JScript code

var str = '0.99';
var re = /^0\.(?!0{2})\d{2}$/;
alert(re.test(str))



0.00 不符合
[/Quote]
EnForGrass 2012-05-15
  • 打赏
  • 举报
回复

var str = '0.99';
var re = /^0\.[1-9]{1,2}$/;
alert(re.test(str))
001007009 2012-05-15
  • 打赏
  • 举报
回复

var str = '0.99';
var re = /^0\.(?!0{2})\d{2}$/;
alert(re.test(str))


0.00 不符合
winlem123 2012-05-15
  • 打赏
  • 举报
回复
我也不会,帮忙顶。
aspnet_2012 2012-05-15
  • 打赏
  • 举报
回复
当文本框里满足0.01到0.99间的数时就清空

[Quote=引用 11 楼 的回复:]

<input type="text" onkeyup="value=value.replace(/^0\.(?!00)\d{1,2}$/,'')" >
不是很明白你的意思
你的意思是当文本框里满足0.01到0.99间的数时就清空吗?
而且onkeyup是每按一个键就执行一次 所以如果你要求小数点后可以是一个数字的话,还没等你输第二个数字时就清空了,0.0也满足\.(?!0{2})
[/Quote]

87,997

社区成员

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

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