>>627
半角全角は面倒だね。Perlでやると大抵Shift-JISとかで送られてきた
文字列を処理することになるから文字の境界で苦労する。
>>628さんの言うとおり、JavaScriptでやるのがいいと思う。

ちょっと書いてみた。板違いだけど…

<form OnSubmit="txt=mainForm.messageArea.value;
while (txt.match(/[0123456789]/))txt=txt.replace(/[0123456789]/,
'0123456789'.charAt('0123456789'.indexOf(RegExp.lastMatch)));
mainForm.messageArea.value=txt;">

これで全角→半角が一応IE6ではできた。他は試してない。
mainForm.messageAreaは好きに変えてね。