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 に答える