0

ユーザー名を確認するためにサイトから正規表現を追加しました。これは機能するはずですが、コンパイル時にエラーが発生します。画像を見てください。グーグルで検索したところ、jsがサポートしていないため、「\w」のような文字のいくつかは機能しないことがわかりました。今、私はそれを変換する方法がわかりません、誰かがこれをASP.NETMVCデータ注釈で機能するように変換するのを手伝ってもらえますか?

[RegularExpression("^([a-zA-Z])[a-zA-Z_-]*[\w_-]*[\S]$|^([a-zA-Z])[0-9_-]*[\S]$|^[a-zA-Z]*[\S]$")]

よろしくお願いします。

4

1 に答える 1

0

冒頭の引用符の前に@記号を追加して、文字列をリテラルにします。それ以外の場合は、文字列に含まれるすべての円記号をエスケープする必要があります。これにより、このような正規表現はさらに読みにくくなります。

[RegularExpression(@"^([a-zA-Z])[a-zA-Z_-]*[\w_-]*[\S]$|^([a-zA-Z])[0-9_-]*[\S]$|^[a-zA-Z]*[\S]$")]

リテラル文字列を使用すると、 特殊コードやエスケープ文字を使用せずに、円記号や二重引用符などの特殊文字を使用できます。これにより、リテラル文字列は、自然に多くの円記号を含むファイルパスに最適になります。リテラル文字列を作成するには、文字列の開始引用符の前にアットマーク@を追加します

于 2012-09-08T21:00:23.827 に答える