- PR -

<[a-zA-Z]について

1
投稿者投稿内容
ミキ
常連さん
会議室デビュー日: 2004/11/12
投稿数: 34
投稿日時: 2004-12-21 17:42
いつもお世話になっております。

Jittaさんのサイトで
「ページのバリデーションをオフにする」について読ませていただきました。

<[a-zA-Z]の入力ははじくとありますが
これを
「RegularExpressionValidator」コントロールの「ValidationExpression」プロパティ
で実現する事は可能でしょうか?

いろいろ試しているのですがうまくいきません。
どなたかお教えください。
よろしくお願いします。

[ メッセージ編集済み 編集者: ミキ 編集日時 2004-12-21 17:47 ]
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2004-12-21 17:48
こんにちは。


^[^a-zA-Z]+$ でどうですか?
ミキ
常連さん
会議室デビュー日: 2004/11/12
投稿数: 34
投稿日時: 2004-12-21 18:09
引用:

^[^a-zA-Z]+$ でどうですか?



お返事ありがとうございます。

早速やってみました。
「<111」「111」等の入力はOKなのですが
「aaa」の入力でもはじかれてしまいました。
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2004-12-21 18:27
引用:

<[a-zA-Z]の入力ははじくとあります

べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2004-12-21 22:06
引用:
ミキさんの書き込み (2004-12-21 17:42) より:
いろいろ試しているのですがうまくいきません。

どう試したんですか?

引用:
ミキさんの書き込み (2004-12-21 17:42) より:
<[a-zA-Z]の入力ははじくとありますが
これを
「RegularExpressionValidator」コントロールの「ValidationExpression」プロパティ
で実現する事は可能でしょうか?

できるでしょう、正規表現を指定できるんですから。
ただ、ValidationExpressionには通したい(はじかない)正規表現を書くんですよ?
あと、「含まれる」ではなく「完全に一致」しないと通らないみたいですね(当然か)
でも「タグ無効」が目的なら、私なら単に「<」と「>」をはじいちゃいますけどね。

(<(?![a-zA-Z])|[^<])*
こうですかね・・正規表現ムズカシイ・・・

[ メッセージ編集済み 編集者: べる 編集日時 2004-12-21 22:40 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-12-23 06:46
フォーローどうも。

> でも「タグ無効」が目的なら、私なら単に「<」と「>」をはじいちゃいますけどね。
 「入力値 < 5 の時はエラーとする」という入力があり得るので、"<"だけで弾くわけにはいかなかったのです。

 もちろん、表示するときにHttpUtility.HtmlEncodeでエンコードしてやれば、いいのですが。そろそろ書き換えないと。

_________________
ミキ
常連さん
会議室デビュー日: 2004/11/12
投稿数: 34
投稿日時: 2004-12-24 09:34
お返事ありがとうございます。

引用:

(<(?![a-zA-Z])|[^<])*


やってみましたが
「111」「あああ」の入力もはじかれてしまいました。

引用:

 もちろん、表示するときにHttpUtility.HtmlEncodeでエンコードしてやれば、いいのですが。



「<」「>」等の入力も可能として表示するときEncodeする方向で進めたいと思います。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2004-12-25 01:42
引用:
やってみましたが「111」「あああ」の入力もはじかれてしまいました。

あれ、おかしいですね・・。例えばAPSXで見て
ValidationExpression="(<(?![a-zA-Z])|[^<])* "
と、ダブルクォートの前に空白があったりするとダメです。それはいいとして
引用:
「<」「>」等の入力も可能として表示するときEncodeする方向で進めたいと思います。

これがベストでしょうね。HTMLとして表示しないならはじく必要すらない場合もありますし。
あとは、DBに入れる場合はシングルクォートをどうにかするとか、ユーザ入力は
気にすることが結構ありますね。
1

スキルアップ/キャリアアップ(JOB@IT)