<html> <head> <meta http-equiv="content-Type" content="text/html;charset=gb2312"> <title>js 只能输入数字和小数点</title> <script language="JavaScript" type="text/javascript"> function clearNoNum(obj) { //先把非数字的都替换掉,除了数字和. obj.value = obj.value.replace(/[^\d.]/g,""); //必须保证第一个为数字而不是. obj.value = obj.value.replace(/^\./g,""); //保证只有出现一个.而没有多个. obj.value = obj.value.replace(/\.{2,}/g,"."); //保证.只出现一次,而不能出现两次以上 obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); } </script> </head> <body> <!--把下面代码加到<body>与</body>之间--> 只能输入数字和小数点的文本框:<input id="input1" onkeyup="clearNoNum(this)"> </body> </html>
正确格式:2,3,4,43
不能连续出现 逗号如1,,,2
末尾也不能是逗号 开头也不能是逗号,1或者2,
上面的那个js代码实现了 就是小数点 不能是逗号 还有就是他的小数点只能出现一次
没有用
@bworling: ^(\d+,)+\d+$
@张坤:
function clearNoNum(obj) {
var reg = /^(\d+,)+\d+$/;
if (reg.test(obj.value)) {
return obj.value;
}
alert('输入不正确,请正确输入');
return;
}
你测试了吗 朋友
@bworling: ^(\d+,)*\d+$
@张坤: 不知是我用的问题还是 去切图你看
function clearNoNum(obj) {
var reg = /^(\d+,)*\d+$/;
if (reg.test(obj.value)) {
return obj.value;
}
alert('输入不正确,请正确输入');
return;
}
<input id="txtGroup" type="text" class="{required:true}" onkeyup="clearNoNum(this)"
name="txtGroup" maxlength="10" />
@bworling: 你不是说,不能是 , 开头和结尾吗,你这个检查没问题啊!
@张坤: 但是我还有接续输入啊
这样的格式2,3,4,43
错误的格式 ,2 逗号开头
2, 逗号结尾
2,,,,2逗号连续
@bworling: ^(\d+,)*\d+$ 是支持 2,2,3 这样格式的,伤不起啊!
@bworling:
@bworling: 我看出来了,是因为你这段代码 onkeyup="clearNoNum(this)"
你自己琢磨琢磨吧 !
@张坤: 恩 谢谢了 朋友
@bworling: 结贴吧 !
试试:
<html> <head> <meta http-equiv="content-Type" content="text/html;charset=gb2312"> <title>js 只能输入数字和小数点</title> <script language="JavaScript" type="text/javascript"> function clearNoNum(obj) { //先把非数字的都替换掉,除了数字和. obj.value = obj.value.replace(/[^\d,]/g,""); //必须保证第一个为数字而不是. obj.value = obj.value.replace(/^,/g,""); //保证只有出现一个.而没有多个. obj.value = obj.value.replace(/,{2,}/g,","); } function clearLastNoNum(obj){ obj.value=obj.value.replace(/,$/,""); } </script> </head> <body> <!--把下面代码加到<body>与</body>之间--> 只能输入数字和小数点的文本框:<input id="input1" onblur="clearLastNoNum(this)" onkeyup="clearNoNum(this)"> </body> </html>
在线演示:http://jscode.chinacxy.com/code/4933a4397e2d2a68e6d8fcdf20333bbc.aspx
没有用啊 朋友逗号输不了
@bworling: 注意是英文逗号不是中文逗号,你需要的是什么类型的?
@artwl: 谷歌不兼容啊
@bworling: 我就是在Chrome浏览器下测试的
@bworling: 谷歌浏览器逗号都输不了 还有最后一个在ie能输入 , 不不合法的
这样的格式2,3,4,43
错误的格式 ,2 逗号开头
2, 逗号结尾
2,,,,2逗号连续
@bworling: 你确定是在英文输入状态??我这边Chrome/Firefox/IE都是可以的
@bworling: 其实结尾我在后台字符处理也可以 就是谷歌浏览器不支持
@bworling: 恩 可以了 谢谢啊 朋友
@bworling: 2个都可以 我只能选他了 朋友 他昨天也麻烦了 不好意思啊 我还要学习下正则去 争取以后自己能写点出来 呵呵
@bworling: 没事,解决了你的问题就好