LoginSignup
0
0

More than 3 years have passed since last update.

Safariの文字入力でハマった

Posted at

シングルクォーテーションだけ入力チェックが正しく動かない

inputタグへの入力文字の制御を行なっていて、PCブラウザやAndroidでは上手くいくのに、iOSだけシングルクォーテーションがうまくいかずハマりました。

keydownイベントでは問題ない

keydownイベントのevent.keyを確認しましたが文字コード0x27「'」で問題なく処理されます。

inputイベントに問題あり

event.target.valueをログ出ししていて、文字コードが0x27「'」でないことに気付きました。
入力の一文字目は\u2018「‘」、二文字目以降は\u2019「’」に勝手に変換されるようです。

下記のコードで変換かけてあげて回避できました。

event.target.value = event.target.value.replace(/[\u2018\u2019]/g, '\'');

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0