- - PR -
正規表現について
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-03-19 20:07
いつも参考にさせてもらってます。
ASP.NETのVBで開発をしているのですが正規表現で少々質問です。 コードをカンマで区切ってDBに登録するのですが その前に検証コントロールでチェックを行いたいです。 コードが複数ある場合(100桁までOK、コードで言うと16個可能) 11111,22222,33333,44444,55555 コードが1件の場合 11111 上記のような途中に「,」があるフォーマットなのですが 下記のように書いてみたのですがうまくいきません。 ^\\d{0,5},\\d{0,5},\\d{0,5}$ 数字5桁が1つの場合は「,」はいらないので上のではいけないのでしょうか? 100桁(16個)までというのも入っていないのでいれないとですが。。 もう一つあるのですが 過去ログを見てラジオボタンの検証コントロールの必須チェックはあったのですが チェックボックスの必須チェックは検証コントロールでできるのでしょうか? 初心者で申し訳ないのですが どうぞご教授のほどよろしくお願いします。 | ||||||||||||
|
投稿日時: 2007-03-19 20:48
これじゃ、数字の塊が3つの時しかマッチしませんよね。 ^\d{0,5}(,\d{0,5}){0,15}$ こうかな……、検証してませんが。 | ||||||||||||
|
投稿日時: 2007-03-19 20:51
これでどうでしょうか?1項目は必須、MAX16項目までとして書いてます。 ちなみに提示のパターンでは3項目固定ですね。
チェックボックスの必須チェックって? チェックされているか、されていないかのどちらかしかないから、 どちらの状態も入力されている状態としか判断できませんけど。 別の項目の状態によって、チェックがついていること、 みたいな縛りをしたい、ということなら、その辺のやりたいことも含めて、 別途、質問された方がよいかと思います。 #もし、この質問にチェックボックスについての回答がついてしまうと #ちょう初心者さんのように過去ログを調べる方が困ることになるかもしれません。 # #チェックボックスで検索→タイトル:「正規表現について」→関係なさそうだな | ||||||||||||
|
投稿日時: 2007-03-19 23:03
ご返答ありがとうございました。
書き忘れてましたが1項目は必須じゃないです。 空白の場合もあるとこのことでした。 1項目必須でないとなると最初のを取って \\d{0,5}(,\\d{0,5}){0,15}$ でいいのでしょうか。 チェックボックスのほうは もう少し調べてわからない場合は 質問したいと思います。 | ||||||||||||
|
投稿日時: 2007-03-20 00:41
「最初の」って「^」のことですよね?(これが入力文字列の先頭にマッチすることは理解してますか?) RegularExpressionValidatorではこれがなくてもあるものとみなされるようです。$(末尾)も同様です。 ところで「コード」というのは5桁以下なら(空白でも)OKなのでしょうか? この正規表現だと「10,,,13333,65,,0」みたいなのも許可されますよ。 | ||||||||||||
|
投稿日時: 2007-03-20 09:30
ご教授ありがとうございます。
「^」が先頭マッチだと言うのはわかっています。 少し簡単に考えすぎたのかもしれません。 {0,5}と言うので0桁から5桁までOKと言うことで空白もOKとなるのですね。 コードは5桁固定ですので5桁以下のコードが入ると困ります。 入力フィールドには5桁のコードが複数はいる感じで 複数の場合はカンマで区切るとあり 必須入力ではないためコードなしの空白の場合もありえると言うことです。 | ||||||||||||
|
投稿日時: 2007-03-20 09:59
みなさんのを参考にやってみました。
コード5桁固定、空白ありだとで ^\\d{5}(,\\d{5}){0,15}$ この方法でうまく動作しました。 みなさんご教授のほうありがとうございました。 |
1