javascriptで「¥」(半角の¥)を置き換えるにはどうすればよいのでしょうか?


hoge.replace(?????????, "円マーク");

回答の条件
  • 1人2回まで
  • 登録:2006/07/30 16:09:52
  • 終了:2006/08/06 16:10:03

回答(2件)

id:ymlab No.1

ymlab回答回数508ベストアンサー獲得回数342006/07/30 16:35:55

ポイント35pt

円マーク2つを\\のように、重ねるとOKです。

ちなみに、二重引用符は、\" です。

こういうのをエスケープ文字といったり、エスケープシーケンスといいます。

http://www.parkcity.ne.jp/~chaichan/src/javasc03.htm

id:worldtravel

追記

下記のコードを書き直したら問題なくできました。

しかしなぜできるときとできないときがあるのかが理解できません。。。

ありがとうございました。

----------以上追記分------------

ありがとうございます。

エスケープについては知っているのですが下記のようなコードで

フォームに「あいエうえお」と入力して試してみてください。

「エ」は削除ができません。

これを置き換えできる方法を教えてください。

ちなみに

replace(/あ/, "")

とすると「あ」は削除できます

<HTML>

<HEAD>

<SCRIPT LANGUAGE="JavaScript"><!--</p> <p> function check(){</p> <p> alert(document.form.hoge.value.replace(/エエ/, ""));</p> <p> }</p> <p> //--></SCRIPT>

</HEAD>

<BODY>

</BODY>

</HTML>

2006/07/30 19:02:21
id:dede-suke No.2

dede-suke回答回数11ベストアンサー獲得回数12006/07/30 19:01:58

ポイント35pt

多分日本語のフォントでバックスラッシュ(反対向きの / )が円マークと同じに見えてしまうことが原因です。

下の例ならバックスラッシュも変換するので上手くいきます。分かりにくいのですが、1つ目の変換は\(円マーク)、2つ目の変換は\(バックスラッシュ)をそれぞれ空白にしています。

<HTML>

<HEAD>

<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">

<SCRIPT LANGUAGE="JavaScript"><!--

function check(){

alert(document.form.hoge.value.replace(/\\|\\/g, ""));

}

//--></SCRIPT>

</HEAD>

<BODY>

<FORM name="form">

<INPUT type="text" name="hoge">

<INPUT type="button" value="送信" onClick="check()">

</FORM>

</BODY>

</HTML>

id:worldtravel

なるほど、そういうことなんですか。

私から見ると「¥¥|¥¥」と見えますが

UNIXでは「¥¥|¥\」と見えるのでしょうか...?

(上の文は全角で書いています)

ありがとうございました

2006/07/30 19:07:04

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

  • javascriptの人力検索質問 ymlabの日記 2006-07-30 19:51:09
    こういう質問があった。 javascriptで「¥」(半角の¥)を置き換えるにはどうすればよいのでしょうか? hoge.replace(?????????, ”円マーク”); ¥¥の話かなぁと思って安易に回答すると、もっ
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません