Javascript 如何在html中的单词和字母之间留出空格?

Javascript 如何在html中的单词和字母之间留出空格?,javascript,html,input,Javascript,Html,Input,在html中,当输入字段检测到单词和字母时,我有一个自动分离的问题。例如,当我输入“ABB9102”时,输入字段自动更改为“ABB 9102” 下面是我的编码,此编码只能限制在前面3个字符,无法检测单词和字母之间的距离,如果我键入“ABCD9102”,则无法自动更改为“ABCD 9102”: 函数空间(str,after){ 如果(!str){ 返回false; } after=在| | 3之后; var v=str.replace(/[^\dA-Z]/g',), reg=新的RegExp(“

在html中,当输入字段检测到单词和字母时,我有一个自动分离的问题。例如,当我输入“ABB9102”时,输入字段自动更改为“ABB 9102”

下面是我的编码,此编码只能限制在前面3个字符,无法检测单词和字母之间的距离,如果我键入“ABCD9102”,则无法自动更改为“ABCD 9102”:

函数空间(str,after){
如果(!str){
返回false;
}
after=在| | 3之后;
var v=str.replace(/[^\dA-Z]/g',),
reg=新的RegExp(“.{”+“}”之后的“.{”+”,“g”);
返回v.replace(注册,功能(a){
返回一个+'';
});
}
var el=document.getElementById('pin');
el.addEventListener('keyup',function(){
this.value=空间(this.value,3);
});

不确定这是不是你想要的

<input autocapitalize="off" autocorrect="off" maxlength=20 type="text" placeholder="type the pin" id="pin" name="pin" />


var el=document.getElementById('pin');
函数make_空间(){
var含量=el值;
var patt=content.match(/[^\d^\s]\d/g);
var x;
如果(patt!=null)
(第x页,共页){
el.value=content.replace(x,x[0]+“”+x[1])
含量=el值;
}
var含量=el值;
var patt=content.match(/\d[^\d^\s]/g);
var x;
如果(patt!=null)
(第x页,共页){
el.value=content.replace(x,x[0]+“”+x[1])
含量=el值;
}
}
el.addEventListener('keyup',make_space);
el.addEventListener('change',make_space);

在上面的字段中,您不能键入字母GOT BUG,需要修复它。因此,只有在前面至少有3个字符时,才应该替换它?AB123不应获得空格,但ABC123是否应更改为ABC 123?
// testing

const number = 'ABB9102'
space(number)

//output
> "ABB 9102"
<input autocapitalize="off" autocorrect="off" maxlength=20 type="text" placeholder="type the pin" id="pin" name="pin" />
<script>
var el = document.getElementById('pin');

function make_space () {
    var content = el.value;
    var patt = content.match(/[^\d|^\s]\d/g);
    var x;

    if (patt != null)
        for (x of patt) {
            el.value = content.replace(x, x[0] + " " + x[1])
            content = el.value;
        }

    var content = el.value;
    var patt = content.match(/\d[^\d|^\s]/g);
    var x;

    if (patt != null)
        for (x of patt) {
            el.value = content.replace(x, x[0] + " " + x[1])
            content = el.value;
        }
}

el.addEventListener('keyup', make_space);
el.addEventListener('change', make_space);
</script>