Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改javascript正则表达式分隔符字符_Javascript_Regex - Fatal编程技术网

更改javascript正则表达式分隔符字符

更改javascript正则表达式分隔符字符,javascript,regex,Javascript,Regex,我有一个简单的问题 我有这段代码,我需要的是每两个字符剪切一次textbox值(这很好),但我想更改列的逗号 我的实际结果是: stringtest-st、ri、ng、te、st 我想要这个: stringtest-st:ri:ng:te:st 我的代码是: function test() { var textboxtext= $("#textbox").val(); var splitted = textboxtext.match(/.{2}|.{1,2}/g); al

我有一个简单的问题

我有这段代码,我需要的是每两个字符剪切一次textbox值(这很好),但我想更改列的逗号

我的实际结果是: stringtest-st、ri、ng、te、st

我想要这个:

stringtest-st:ri:ng:te:st

我的代码是:

function test() {
    var textboxtext= $("#textbox").val();
    var splitted = textboxtext.match(/.{2}|.{1,2}/g);
    alert("B8:27:EB:" + splitted)

问题不在于正则表达式,而在于如何将结果数组转换为字符串。当JavaScript引擎需要将数组转换为字符串时(当您使用两边都有字符串的二进制
+
运算符时隐式完成),它调用该方法,该方法基本上只调用该方法,该方法返回一个字符串,数组的每个元素都转换为字符串,并用逗号分隔

但是您可以自己调用
join
方法,并指定希望它用作分隔符的字符,如下所示:

alert("B8:27:EB:" + splitted.join(':'));
另一方面,您可以将正则表达式简化为
{1,2}
,这与之前的完全相同:

var splitted = textboxtext.match(/.{1,2}/g);