colormanagemnet
次のように、ユーザー定義の特殊文字から文字列を変更したい:
c!o@l#o$r$m%a^n&a*g?e(m)e@n!t
JavaScript または jQuery を使用します。
<script type="text/javascript">
var sc = "!@#$%^&*()?"
var txt = "colormanagemnet";
// dont know how to concat like this
</script>
colormanagemnet
次のように、ユーザー定義の特殊文字から文字列を変更したい:
c!o@l#o$r$m%a^n&a*g?e(m)e@n!t
JavaScript または jQuery を使用します。
<script type="text/javascript">
var sc = "!@#$%^&*()?"
var txt = "colormanagemnet";
// dont know how to concat like this
</script>
まず、各変数を分割できます
sc.split("")
=> ["!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "?"]
txt.split("")
=>["c", "o", "l", "o", "r", "m", "a", "n", "a", "g", "e", "m", "n", "e", "t"]
そして、 の各文字を実行し、 の各文字txt
と連結できるようになりsc
ました。要素の数が異なる場合は、次のようにすることができます。
for(...){
final = final + char_from_txt[i] + char_from_sc[i % sc_length];
}
これは不均一な長さと必要に応じてパッドを処理します
var sc = "!@#$%^&*()?"
var txt = "colormanagemnet";
var newstr ="";
最もエレガントなのは、Tiago の剰余メソッドで charAt を使用することです。
for (var i=0,n=txt.length; i< n; i++) {
newstr += txt.charAt(i)+sc.charAt(i % sc.length);
}
これは、最長の文字列をテストする、パディングのあるものです。
for (var i=0,n=Math.max(txt.length,sc.length); i< n; i++) {
var char1 = txt.length>i?txt.charAt(i):"-"; // remove - if no padding
var char2 = sc.length>i?sc.charAt(i):"~"; // remove ~ if no padding
newstr += char1+char2;
}
alert(newstr);