|
■No3004 (ASP.NET 初心者 さん) に返信
> {7,30} > という風にしてしまうと、直前のパターンの7〜30回の繰り返しになってしまうので、 > 私の考えたパターンの後に付加すると(↓)無理のようです。 > ^(\w+\W+\w*|\W+\w+\W*){7,30}$
この場合の * は「直前の文字の0個以上の繰り返し」だと思うので、こうしてみたら どうでしょう。 ^(\w+\W+\w{7,30}|\W+\w+\W{7,30})$
>>^[\w\W\d]{7} > このパターンだと、\wと\Wを[]の中に一緒に書いた時点で、任意の文字になってしまうようで、 > できませんでした。
{7} でいいんでしたっけ?(と、これは中さん宛で) RegularExpression の仕様がわからないのでなんとも言えませんが 手元の WZ Editor のヘルプでは、{7} は {7,7} と同じ意味になる ということが書いてあります。 要するに7文字ぴったりじゃないとヒットしないのではないかと。
> やはり、CustomValidatorのClientValidationFunctionプロパティを使用して、JavaScriptで書く > のがいいのでしょうか?
そのあたりはトレードオフでしょうね。 個人的にはあとから読んで頭を悩ませるような正規表現を書くならば JavaScript で書いてしまえ派ではあります。 (簡単なのだったらいいのだけど) 正規表現にしておくと、サーバ側での処理も同じように書けるという 利点はありますが。
|