人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: worldtravel
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:hoge JavaScript マーク
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ymlab
●35ポイント

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

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

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

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

◎質問者からの返答

追記

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

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

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

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

ありがとうございます。

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

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

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

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

ちなみに

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>


2 ● dede-suke
●35ポイント

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

下の例ならバックスラッシュも変換するので上手くいきます。分かりにくいのですが、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>

◎質問者からの返答

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

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

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

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

ありがとうございました

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ