0

ASP.NETRegularExpressionValidatorを使用しています

フォームに入力するユーザーがすべて大文字を使用しないようにするには、正規表現が必要です。

たとえば、彼らが自分の名前を書いた場合:

BobJONESまたはBOBJONESまたはBOBJOnesなど、一致しません。

私はすべてのキャップをこの正規表現と一致させることができます:

[A-Z]{2,10}

ただし、RegularExpressionValidatorでは、無効なテキストではなく、有効なテキストと一致させる必要があります。

4

4 に答える 4

2

各単語に一度に1文字以下の大文字を含めることを目標とし、ASCII文字に制限しても問題ないと仮定して、次のようにしてみてください。

^(?:[a-z]|[A-Z](?![A-Z])|['-])+$

つまり、文字列は完全に小文字で構成されているか、大文字の後に別の大文字が続かないようにする必要があります。

これは単一の単語に対して機能します。複数の単語(フルネーム、ファーストネーム、ラストネームなど)の場合は、交互にスペースを追加するだけです。

^(?:[a-z]|[A-Z](?![A-Z])|[\s'-])+$

(アポストロフィとハイフンの句読点を許可するように編集)

于 2012-08-02T20:02:20.320 に答える
1

この正規表現を使用します: @"^[^AZ]*$" 大文字を含まないものすべてに一致します。

于 2012-08-02T19:57:43.200 に答える
0

たぶん私は明白なことを言っているだけかもしれませんが、比較を行う前に myVar.string.toLower を実行することはできませんか?

于 2012-08-03T02:03:51.093 に答える
0

use this one^[a-z ]+$ のようなキャッチ名が必要な場合は、この正規表現を使用しますBob Jones^([A-Z][a-z ]+)+$

于 2012-08-02T20:00:58.657 に答える