Javascriptでフォームに入力された内容に機種依存依存文字が使われていないかチェックができないものでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/01/30 13:02:00
  • 終了:2007/02/06 13:05:03

回答(1件)

id:Strada No.1

Strada回答回数18ベストアンサー獲得回数12007/01/30 13:54:55

ポイント60pt

可能ですが限界があります。

以下にサンプルがありますが、単純に文字列を比較しているだけです。ソースはこちら

http://www6.plala.or.jp/go_west/j-s/a-s.htm

http://www6.plala.or.jp/go_west/j-s/a-s.js

ただし、色々と制限がありますので、どのような用途でチェックしたいかによると思います。

まず、JavaScriptでのチェックですので利用者のクライアントに依存します。

IEを使用しているのか、その他のブラウザを使用しているのか?で挙動が変わるかもしれません。

また、ユーザーがJavaScriptの機能をOFFとしているのであれば実装したところでチェックされないでしょう。

また、フォームの中を逐一チェックするとしたならばクライアントマシンに負荷をかけます。

非力なマシンであれば「表示が重い」というクレームがくるかもしれません。

よって特定のユーザーが使う環境で、かつクライアントやマシンスペックが限定できるのであることが、実装の前提だと思います。


もし、データベースなどに格納されることを防ぎたい等の用途であるならば、まずはサーバーサイドでチェックすべきです。

これはServletなのかPHP等の.Net系なのかによって実装方法は変わりますが、クライアントに依存しない実装が可能でしょう。

繰り返しますが、状況によっては「JavaScriptでは実装しない」を選択肢にいれてはどうでしょうか?

それでも「必須の機能」ということであれば、地道に文字コードから判定していくしかありません。

(とは言っても、我侭なお客さんの要求でやらざるを得ないケースは多いのですけどねorz)

id:dingding

別にDBに入力されても、入力した人の問題なのでいいのですが、先に文字化けがわかっているのだから教えてあげたいくらいに考えています。

いくら注意書きを書いても、機種依存文字であることを知らない場合もあるので、できないものか検討しています。

2007/01/30 14:16:31

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

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

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

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

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