更改javascript正则表达式分隔符字符
我有一个简单的问题 我有这段代码,我需要的是每两个字符剪切一次textbox值(这很好),但我想更改列的逗号 我的实际结果是: stringtest-st、ri、ng、te、st 我想要这个: stringtest-st:ri:ng:te:st 我的代码是:更改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
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);