gpt4 book ai didi

javascript - 如果单词后最后删除的字母是空格,则阻止 if 语句

转载 作者:行者123 更新时间:2023-11-28 03:52:33 25 4
gpt4 key购买 nike

$('input').keyup(function(){
if (/^([a-z\d] ?)+[a-z\d]$/i.test(this.value)) {
alert('True');
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type='text' value='Ended with Space '>

在我的脚本中,如果您按 backspace 删除 if 语句触发器中的空格 ,我想防止这种情况发生,我该怎么办那?

最佳答案

$('input').keyup(function (evt) {
if (evt.keyCode === 8) return;
if (/^([a-z\d] ?)+[a-z\d]$/i.test(this.value)) {
alert('True');
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type='text' value='Ended with Space '>

请注意,.keyCodedeprecated ,但可能仍然可以在大多数浏览器中工作。 MDN 目前建议使用 KeyboardEvent.code已实现,但在撰写本文时仍部分缺乏浏览器支持。

这是使用 .code 的示例:

$('input').keyup(function (evt) {
if (evt.originalEvent.code === 'Backspace') return
if (/^([a-z\d] ?)+[a-z\d]$/i.test(this.value)) {
alert('True');
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type='text' value='Ended with Space '>

有趣的是,jQuery(至少在上述版本中)不会在事件对象上公开 code,因此您必须通过 originalEvent 访问它。

最后,为了完整起见,比较 keypress 事件的行为(按注释中的注释):

$('input').keypress(function (evt) {
if (/^([a-z\d] ?)+[a-z\d]$/i.test(this.value)) {
alert('True');
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type='text' value='Ended with Space '>

关于javascript - 如果单词后最后删除的字母是空格,则阻止 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47858326/

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