JavaScriptで全角→半角変換するには

[上に] [前に] [次に]
ワイ 1999/10/18(月) 11:47:59
たとえば、
"ABC"→"ABC"
"123.45"→"123.45"
"あいうえお"→""(半角にないため削除)
となるようにしたいのですが、どういった処理をすればよいのでしょうか。

Aurai [E-Mail] 1999/10/19(火) 07:09:03
文字コードの問題があるので一文字ずつ判定するのが無難かと
以下は置換のための関数を用意しましたので
$i = replacedstring($i,'A','A');
$i = replacedstring($i,'B','B');
$i = replacedstring($i,'C','C');
と、延々と呼び出してください

function replacedstring(replacingstring,serchingstring,settingstring,l,m,n) {
l = '';
m = 0;
while (replacingstring.indexOf(serchingstring,m) != -1) {
n = replacingstring.indexOf(serchingstring,m);
l += replacingstring.substring(m,n);
l += settingstring;
m = n + serchingstring.length;
}
l += replacingstring.substring(m,replacingstring.length);
return l;
}

Aurai [E-Mail] 1999/10/19(火) 07:20:00
あ、半角文字以外は削除するんですね
それなら文字列の先頭から一文字ずつ抜き出して $i にでも代入し
if ($i == 'A') $j = $j + 'A';
else if ($i == 'B') $j = $j + 'B';
else if ($i == 'C') $j = $j + 'C';



と、これもまた延々と繰り返すとか

ワイ 1999/10/19(火) 12:19:00
[[解決]]
ありがとうございます。
結局、(半角にないため削除)の処理はいらないようなので1番目の方法を使いました。

[上に] [前に] [次に]