关于javascript正则表达式的运用 限制只能输入浮点型的数据
答案:2 悬赏:70 手机版
解决时间 2021-07-19 07:55
- 提问者网友:趣果有间
- 2021-07-18 07:32
我想在一个文本框中只能输入浮点型的数据 用javascript的正则表达式怎么处理啊?就像onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" 是限制只能输入数字一样 为什么我写成onkeyup="value=value.replace(/[^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$]/g,''))"就不行了呢
最佳答案
- 五星知识达人网友:往事埋风中
- 2021-07-18 07:47
<input type="text" onkeyup="check(this)" onpaste="check2(this)" />
<script>
function check(obj){
var reg=/^\d+\.*\d*$/i;
if(!reg.test(obj.value))
{
obj.value=obj.value.substring(0,obj.value.length-1)
}
}
function check2()
{
var reg=/^\d+\.*\d*$/i;
if(!reg.test(clipboardData.getData('text')))
{
this.value=clipboardData.setData('text',clipboardData.getData('text').replace(/[^(\d|\.)]/g,''))
}
}
</script>
全部回答
- 1楼网友:你可爱的野爹
- 2021-07-18 08:08
浮点型的正则就是这样就可以了:
[0-9]*(\\.?)[0-9]*
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯