1

検証にASP.NetRegularExpressionValidatorを使用しています。

テキストのみ

^(a-z|A-Z|0-9)*[^#$%^&*()\']*$ 

英数字のみ

^[a-zA-Z0-9]*$ 

数値のみ

^[0-9]*$ 

多言語(日本語、中国語など)でうまく機能するには、これらの表現を使用する必要があります。

4

1 に答える 1

2

Unicodeプロパティを使用します。

例えば:

\p{L}あらゆる言語からのあらゆる種類の手紙

\d数字、.netでは、これらの文字の省略形クラスはUnicodeベースです。

\p{Nd}表意文字を除くすべてのスクリプトの0から9までの数字

\p{N}任意のスクリプト内の任意の種類の数字。たとえば、「VII」のようなローマ数字を許可します

最初の式について:範囲(a-z部分)は、文字クラス内でのみ使用できます。したがって、パーツ(a-z|A-Z|0-9)は文字通り「az」、「AZ」、または「0-9」のいずれかに一致します。

最初の式を次のように変更できます

^[\p{L}\d]*[^#$%^&*()\']*$

あなたの2番目は

^[\p{L}\d]*$

また

^[\p{L}\p{Nd}]*$

そして最後のもの

^\d*$

また

^\p{Nd}*$
于 2012-08-16T08:55:27.597 に答える