限制一个text(html),输入内容只能是数字,第一数字不能为0.
展开全部
我看了下是你的正则写错了,你可以写个函数在onkeyup时调用来完成这个功能,这样看起来可读性也好,代码如下:
function valiNum(){
var str = $("#Text4").val();
if(/^\d$/.test(str)){ //验证是否纯数字
str = str.replace(/^0*/g,''); //把开头的N个0替换成空
$("#Text4").val(str); //把值赋给input
}
}
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
}
}
记得调用啊!这个我已经测过了,没问题的!希望帮到你!
展开全部
js判断是否为数字 字符串截取第一个 判断是否为0
追问
我是这样写的,你帮我修改一下,或者是直接写一个也可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你应该处理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
}
}
当然, 上面的代码将非数字的输入都屏蔽掉了, 你可以改写, 以接受其他如删除键等按钮.
脚本:
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
}
}
当然, 上面的代码将非数字的输入都屏蔽掉了, 你可以改写, 以接受其他如删除键等按钮.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询