我正在尝试编写一个函数,该函数可防止用户在输入中键入多个字符。基本上,每次用户按下任何键时,该功能都会检查输入值的长度,如果该值大于1,则会将输入值设置为键入单词的第一个字符。这段代码会奏效吗,如果没有,它将是什么样子? (正如我在标题中提到的,我也在使用jQuery):
function keepOneLetter(){
$("input[type='text']").keypress(function(event){
if($("input[type='text']").val().length > 1){
$(input[type='text']).val() = $(input[type='text']).val($(this).val()[0])
}
}) }
已建议将其复制为this one。好吧,可能是这样的,因为:
答案 0 :(得分:4)
maxlength
呢?
<input type="text" name="letter" maxlength="1">
这不是javascript,但是用更少的代码效果更好。
答案 1 :(得分:0)
尝试以下代码:
$('.onealphaonly').bind('keyup', function() {
const node = $(this);
node.val(node.val().replace(/^([a-zA-Z]).*/g, '$1'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="onealphaonly"/>