好吧,我有一个输入字段,如果有人写,我想删除破折号(-)。这是我的代码:
$( "#ownerEntrance" ).on( "keydown", function( event ) {
var value = $( "#ownerEntrance" ).val();
if (event.type=="keydown" && event.which == '189') { // 189 for - symbol
$( "#ownerEntrance" ).val(value.substr(0, value.length - 1));
}
});
但是现在它删除破折号前的符号。我可以解决吗?谢谢!
答案 0 :(得分:1)
在replace
事件中使用此正则表达式/(-)/g
尝试keyup
:
$('#no-dash').on('keyup', function() {
let $this = $(this);
$this.val($this.val().replace(/(-)/g, ''));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="no-dash">
这将删除所有破折号,即使在粘贴时也是如此(通过键盘)。您可以添加change
事件以任何方式将其删除。