アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

JavaScript(JSP)で、
正規表現で半角数字1桁のみ(2桁以上は変換しない)を、
全角数字に変換する方法を教えてください。

たとえば、
”hoge3hoge5”文字列内の、
半角数字1桁のみを、
正規表現で、全角数字1桁に、それぞれ変換
  ↓
”hoge3hoge5”


あわせて、
半角数字が2桁以上、連続で続いている場合には
変換せずに、半角数字のままにしておきたいです。
”hoge33hoge5”
   ↓
正規表現で、半角数字1桁のみを、全角数字1桁に変換
(半角数字2桁以上は変換しない)
”hoge33hoge5”

以上になります。
もしご存じの方がいらっしゃいましたら、
よろしくお願いします。

A 回答 (1件)

var func = function () {


var obj = { 0: '0', 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9' };
return function (m) { var s = obj[m]; return s ? s: m; };
}();

'hoge33hoge5'.replace(/\d+/g, func); // hoge33hoge5

1つ以上連続する数字を正規表現で探します。
マッチした数字のプロパティが存在すればその値と置き換え、存在しなければマッチした数字をそのまま置き換えます。
    • good
    • 0
この回答へのお礼

「my--」様

さっそく試してみたところ、
希望通りに動作致しました。

早々に的確なご回答をいただき、本当に助かりました。
ありがとうございました。

お礼日時:2011/09/26 17:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています