Slip输入类型值使用javascript实时显示

Slip输入类型值使用javascript实时显示,javascript,Javascript,我正在尝试实时编辑一个文本框值,这样结果将每两个字符分割一次, 添加列并从某个默认字符开始 到目前为止,我所拥有的是这段代码,它显然不起作用: $('#textboxtext').keyup(function (){ var text = $("#textboxtext").val(); //$(text).attr('maxlength', '12'); var splitted = text.match(/.{2}|.

我正在尝试实时编辑一个文本框值,这样结果将每两个字符分割一次, 添加列并从某个默认字符开始

到目前为止,我所拥有的是这段代码,它显然不起作用:

 $('#textboxtext').keyup(function (){
            var text = $("#textboxtext").val();
            //$(text).attr('maxlength', '12');
            var splitted = text.match(/.{2}|.{1,2}/g);
            var result = ("B8:27:EB:" + splitted.join(':'));
        });

我需要实时拆分和文本框中的默认字符,但我真的不知道从何处开始…

从您的代码中,似乎您正在尝试创建一个具有某些特定行为的文本框。看起来它需要格式化它的值,使其始终以B8:27:EB:的某些“前缀”开头,并且后面的每一对字符都用一个分隔。这实际上是一个非常复杂的行为,你必须考虑一些不同的交互,例如当用户试图删除或修改前缀时会发生什么。如果可能的话,我通常会尽量避免这种复杂的控制,但这里有一个快速的实现:

$('#textboxtext').keyup(function (e){
     var prefix = "B8:27:EB:", 
         text = $(this).val(),
         splitted, result;
     if (text.indexOf(prefix) == 0)
         text = text.substr(9);
     else if (prefix.indexOf(text) == 0)
         text = "";

     text = text.replace(/:/g, '');
     splitted = text.match(/.{1,2}/g) || [];
     result = prefix + splitted.join(':');

     $(this).val(result);
 });

在文本框内键入,然后查看发生了什么。还请注意,此实现没有考虑到各种交互,例如右键单击并粘贴到文本框中,但这只是一个开始。

什么不起作用?您的正则表达式太复杂了。{1,2}可以,但无论如何它都应该工作。您对结果变量做了什么?