限制一个text(html),输入内容只能是数字,第一数字不能为0.

这种写法在text中输入一个0,它直接就过滤了,当你按着0不放时就不管用了。急用!谢了!... 这种写法在text中输入一个0,它直接就过滤了,当你按着0不放时就不管用了。急用!谢了! 展开
 我来答
sunerSy
推荐于2017-11-28 · TA获得超过568个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:165万
展开全部
我看了下是你的正则写错了,你可以写个函数在onkeyup时调用来完成这个功能,这样看起来可读性也好,代码如下:
function valiNum(){
var str = $("#Text4").val();
if(/^\d$/.test(str)){ //验证是否纯数字
str = str.replace(/^0*/g,''); //把开头的N个0替换成空
$("#Text4").val(str); //把值赋给input

}
}
更多追问追答
追问
直接用onkeyup调用就可以了吗?怎么什么都过滤不掉?
追答

你的 onkeyup="valiNum();" 是这么写的吗?还有忘了问了,你用的是不是JQuery?如果不是的话你可以导入这个JQuery包(jquery-1.7.2.min.js,然后又把验证纯数字的正则改成  /^[0-9]\d*$/  ,
这样之前的代码就没问题了!如果不想导入JQuery包的话,那么原生JS函数可以这么写:

function valiNum(){
    var str = document.getElementById("Text4").value;
    if(/^[0-9]\d*$/.test(str)){                     //验证是否纯数字
        str = str.replace(/^0*/g,'');    //把开头的N个0替换成空
        document.getElementById("Text4").value = str;            //把值赋给input
    }
}

记得调用啊!这个我已经测过了,没问题的!希望帮到你!

jqkalytrue
2013-08-07 · TA获得超过835个赞
知道小有建树答主
回答量:1509
采纳率:57%
帮助的人:379万
展开全部
js判断是否为数字 字符串截取第一个 判断是否为0
追问
我是这样写的,你帮我修改一下,或者是直接写一个也可以。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Andy_Sun321
2013-08-07 · TA获得超过1376个赞
知道小有建树答主
回答量:811
采纳率:89%
帮助的人:727万
展开全部
你应该处理text的onkeydown事件, 判读输入的keyCode值, 如果text内容为空且输入是0, 则返回false,文本框不接受输入; text内容不为空则在输入非数字时返回false, 其他返回true. 对应粘贴的处理大概就保持你原本的代码.
脚本:
function OnKey(evt, o) {
if (evt == null) {
evt = window.event;
}
if (o.value == "") {
return evt.keyCode > 48 && evt.keyCode <= 58;
}
else {
return evt.keyCode >= 48 && evt.keyCode <= 58
}
}
当然, 上面的代码将非数字的输入都屏蔽掉了, 你可以改写, 以接受其他如删除键等按钮.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式