gpt4 book ai didi

javascript - 在纯数字输入字段中限制零

转载 作者:行者123 更新时间:2023-11-28 19:32:35 25 4
gpt4 key购买 nike

这是我的代码,它只允许输入数字。如何限制输入零 (0) 作为第一位数字?

$('.btn').keypress(function(e) {
var code = e.which;
if(($(this).val().indexOf(".") == -1 && code == 46) || (code >= 48 && code <= 57) || (code == 8) || (code >= 48 && code <= 57)){
return true;
}
return false;
})
.bind('paste',function(e) {
e.preventDefault();
});

最佳答案

完成此类工作需要相当多的高级 JavaScript。

首先您需要知道光标/插入符是否位于位置 0。为此,您需要获取选择范围。这取决于您使用的浏览器。

https://developer.mozilla.org/en-US/docs/Web/API/Range

Firefox 和 SeaMonkey 的代码片段(未经测试):

var range = document.createRange();
var pos = range.startOffset;

如果 pos 为零,则说明光标位于开头,可以测试用户是否按了零:

if(pos == 0 && code == 48)
{
e.preventDefault();
}

但是,您还需要考虑这样的情况:用户输入 100 并将光标或选择内容包括 1 或 10。现在他点击了删除,剩下的就是一零 (0)。如何处理这种情况很大程度上取决于您真正想在用户界面中提供什么。我似乎真的很烦人的系统会自动删除文本的其余部分,因为它与有效答案不匹配,并且没有给您解决它的方法......我确实相信这不是一个好的解决方案。

另一个解决方案,这是我通常做的,是让用户在字段中输入任何内容(好吧,在您的情况下,仅允许数字,但允许任何随机数),然后当用户单击“提交”时,然后你验证格式。如果格式错误,则抛出错误。在这种情况下,Mate 关于正则表达式的评论很适用(尽管他在评论中没有解释任何内容,有点悲伤)。

关于javascript - 在纯数字输入字段中限制零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26477966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com