gpt4 book ai didi

jquery 表单掩码 4 位数字 - 在选定的文本上 - 无法插入

转载 作者:行者123 更新时间:2023-12-01 08:13:57 26 4
gpt4 key购买 nike

我想做的是一个用于邮政编码输入的简单表单字段,最多允许输入 4 位数字。

看看我的jsfiddle。它工作正常,唯一的问题是,当里面有完整的 4 位数字并且选择了里面的文本时,我在输入数字时无法覆盖它,我必须先点击删除,然后插入数字

http://jsfiddle.net/vCceN/2/

另一个不相关的问题,如何防止用户输入 0(零)作为第一个数字?

<小时/>

我使用了 kundan 的解决方案,并添加了(在我看来)一个更好的解决方案来解决前导零问题:

$(document).ready(function(){
var IsSelect = false;
$('#fld_1').select(function(){
IsSelect = true;
}).keypress(function (event){

if( event.which==8 || event.which==0 || event.which == 27) return true;
if($(this).val().length > 3 && !IsSelect) return false;
if(IsSelect && event.which == 48) return false;
if($(this).val().length == 0 && event.which == 48) return false;

var regex = new RegExp("^[0-9]");

var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
IsSelect = false;
});

});

WORKING DEMO

它工作得几乎完美...唯一的问题是当用户部分选择输入框中的文本时(例如最后两位数字...他无法从零开始书写,但这应该是可能的,因为他插入到第三个字母而不是开头

最佳答案

它将解决您的两个问题

$(document).ready(function(){
var IsSelect = false;
$('#fld_1').select(function(){
IsSelect = true;
});
$('#fld_1').keypress(function (event){

if( event.which==8 || event.which==0 || event.which == 27) return true;
if($(this).val().length > 3 && !IsSelect) return false;

var regex = new RegExp("^[0-9]");

var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
IsSelect = false;
});

$('#fld_1').keyup(function (event){
$(this).val(this.value.replace(/\b0+/g, ""));
});
});

Working Demo

关于jquery 表单掩码 4 位数字 - 在选定的文本上 - 无法插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11905569/

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