文字列( ) - ( ) があります。ここで、"(",")" と "-" は文字列内の特殊文字です。ここで、文字列は文字を空白で区切ります。ユーザーが文字列の間に文字を入力すると、空白が入力に置き換えられます。次に、文字列は"(9 ) -8 ( 7 )"になります。
特殊文字を同じ位置に保持し、スペースを文字列の最後に押し込んで、すべての入力を左端に配置する必要があります。次に、文字列は(987) - ( )のようになります。助けてください
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 に答える