0

我有一个字符串( ) - ( ) ,其中 "(",")" 和 "-" 是字符串中的特殊字符。这里的字符串用空格分隔字符。当用户输入字符串之间的字符时,空格被替换为输入。然后字符串看起来"(9) -8 (7)"
我需要将所有输入放在最左侧,并将特殊字符保留在相同的位置并将空格推到字符串的末尾。然后字符串将如下所示(987) - ( )。请帮忙

4

1 回答 1

0

这就是我最终的结果。现在似乎可行

var value = "(9 ) -8 ( 7 )";
        for (var i = 0; i < mask.length; i++) {
            var char = mask.charAt(i);
            if ('9XA'.indexOf(char) != -1) {
                if (value.charAt(i) == " ") {
                    var j = i + 1;
                    var matchPattern = /^[A-Za-z0-9]+$/                        
                    while (value.length)
                        if (value.charAt(j).match(matchPattern) || value.charAt(i) == " ")
                            break;
                        else
                            j++;
                    var temp = value.charAt(i);
                    value.charAt(i) = value.charAt(j);
                    value = value.insert(i, value.charAt(j));
                    value = value.insert(j, temp);
                }
            }
        }
于 2013-02-11T14:30:55.927 回答