我使用的是jQuery,当数值在输入框中输入时,例如1234,它会将这些数值分别转换为ABCD。但是我想把这个jQuery函数转换成纯Javascript。请看一下我的jQuery代码,它运行得很好,并建议我如何将其转换为Javascript (我也不明白,如果我在中间输入,为什么它总是把我放在最后键入的字母表中?)
$(document).ready(function(){
$('input[name="xrd-reference"]').bind("change keyup input",function() {
$('input[name="xrd-reference"]').val($('input[name="xrd-reference"]').val().replace(/1/g, 'A').replace(/2/g, 'B').replace(/3/g, 'C').replace(/4/g, 'D').replace(/5/g, 'E').replace(/6/g, 'F').replace(/7/g, 'G').replace(/8/g, 'H').replace(/9/g, 'I').replace(/0/g, 'O'));
});
});
<input name='xrd-reference'>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
发布于 2021-08-03 19:20:24
它会是这样的
<input name="xrd-reference">
<script>
const substitutions = {
1: 'A',
2: 'B',
3: 'C',
4: 'D',
5: 'E',
6: 'F',
7: 'G',
8: 'H',
9: 'I',
0: 'O'
};
window.onload = () => {
const input = document.querySelector('[name=xrd-reference]');
input && input.addEventListener('input', e => {
input.value = input.value.replace(/[0-9]/g, (char) => substitutions[char] || char);
});
}
</script>
https://stackoverflow.com/questions/68641347
复制相似问题