我正在尝试反向编写文本,最后我使用正则表达式进行了编写,但事实上,我使用过多的行来执行此操作。
这是完美的工作" eoJ nibreM"。 我认为可以将其写入单行。 我的代码是
function reversetext(){
var text = $("#input_output").val();
text = text.replace(/\r\n/g,'\n');
text = text.replace(/\(/g,' ( ');
text = text.replace(/\)/g,' ) ');
text = text.replace(/\[/g,' [ ');
text = text.replace(/\]/g,' ] ');
text = text.replace(/\{/g,' { ');
text = text.replace(/\}/g,' } ');
text = text.replace(/\</g,' < ');
text = text.replace(/\>/g,' > ');
text = text.split('').reverse().join('');
text = text.replace(/ \( /g,')');
text = text.replace(/ \) /g,'(');
text = text.replace(/ \[ /g,']');
text = text.replace(/ \] /g,'[');
text = text.replace(/ \{ /g,'}');
text = text.replace(/ \} /g,'{');
text = text.replace(/ \< /g,'>');
text = text.replace(/ \> /g,'<');
$("#input_output").val(text);
}
$(window).load(function(){
reversetext();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="input_output">Merbin Joe</textarea>
&#13;
任何人都可以减少此代码吗?
答案 0 :(得分:3)
RegEx非常适合这种情况;它更多的是匹配字符串操作的模式。
您可以使用split
,reverse
和join
var reverseString = function(string){
return string.split('').reverse().join('');
}
答案 1 :(得分:0)
循环的另一种方法:
var name = "Joe Dirt", reverse = "";
for(var i=name.length-1;i>-1;--i){
reverse+=name[i];
};
console.log(reverse);