gpt4 book ai didi

javascript - 限制 0 作为第一位数字在 Mac 键盘中工作正常,但在 Windows 输入字段中除了 0 作为第一位数字外

转载 作者:行者123 更新时间:2023-12-03 06:41:56 25 4
gpt4 key购买 nike

我试图将 0 限制为输入字段中的第一个数字。它在 macbook 中工作正常,但是当用户在 Windows 系统中输入金额时,输入字段除了数字 0 之外,也不异常(exception)数字 9 作为第一位数字,例如:9845,但除了 8945 之外。下面是代码。

我只是对错误在哪里感到困惑。如果有人能帮助我解决这个问题,那就太好了:

JS 代码:

$("#stamp_amount").keydown(function (e) {
// Allow: backspace, delete, tab, escape, enter and .
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A, Command+A
(e.keyCode == 65 && ( e.ctrlKey === true || e.metaKey === true ) ) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}

if ( event.keyCode == 46 || event.keyCode == 8) {
// let it happen, don't do anything

}
else {
// Ensure that it is a number and stop the keypress
if ((event.keyCode !==9) && (event.keyCode < 48 || event.keyCode > 57 )) {
event.preventDefault();
}
else{

if($.trim($(this).val()) =='')
{
if(event.keyCode == 48 || event.keyCode == 57 || event.keyCode == 96 || event.keyCode == 105){
event.preventDefault();
}
}

}
}
});

最佳答案

不检查按下了什么键,而是检查输入值本身。

Regex /^0|[^0-9.]/ 表示 以 0 开头或包含除数字和 . 之外的字符。

$(document).ready(function() {
$('#inp').change(function() {
if ($(this).val().length == 0 || /^0|[^0-9.]/.test($(this).val())) {
$('#valid').removeClass('valid');
} else {
$('#valid').addClass('valid');
}

// make input valid
$(this).val($(this).val().replace(/^0+|[^0-9.]+/, ''));
});
})
#valid:after {
content: "No";
color: red;
font-weight: bold;
}
#valid.valid:after {
content: "Yes";
color: green;
font-weight: bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="inp" placeholder="51.54" />Eur
<br/>
<span id="valid"></span>

关于javascript - 限制 0 作为第一位数字在 Mac 键盘中工作正常,但在 Windows 输入字段中除了 0 作为第一位数字外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37915676/

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