5

私はimeiの正規表現を作成していますが、必要に応じて複数のimeiを使用する必要があります。たとえば、123456789123456これは受け入れられ、commo ieが最後にある場合は、カンマも許可する必要がありますが、15桁目の前ではなく15桁目以降のみ数字、これを検証する必要があります

123456789123456

カンマが追加された場合は15桁目以降にのみ追加され、カンマが追加された場合は次のように検証されます

123456789123456,123456789123456,123456789123456

すべての 15 桁の間のカンマは、15 桁目の前ではなく受け入れられます。このような複数の imei を作成しました ^[0-9]{15,15}|[,]$ が、15 桁目より前にコンマを許可するため、機能しません。したくない数字ですが、正規表現を変更するにはどうすればよいですか? または正規表現全体を変更したいですか?私はそのようなコードを使用しています

         Regex regex = new Regex("^[0-9]{15,15}|[,]$");
        if (regex.IsMatch(textBox2.Text))
        {
            return false;
        }
        else
        {
            return true;
        }
4

2 に答える 2

4

(コンマと15桁の)n回のようなパターンよりも15桁:

^[0-9]{15}(,[0-9]{15})*$
于 2012-12-27T07:29:32.350 に答える
1

あなたはおそらくこのようなものが欲しいでしょう:

^\d{15}(,\d{15})*$

15桁の1つのシーケンス、またはコンマで区切られた15桁の複数のシーケンスを受け入れます。スペースと余分なコンマは使用できないことに注意してください。

スペースを許可する場合は、検証前にすべてのスペースを削除する必要があります。

于 2012-12-27T07:28:56.160 に答える