5

我正在为 imei 制作一个正则表达式,但我希望它可以选择使用多个 imei,例如 123456789123456 这将被接受,如果 commo ie 将在末尾,那么它也应该允许逗号,但只能在第 15 位之后而不是在第 15 位之前数字,我希望它应该验证这一点

123456789123456

如果添加了逗号,它应该只在第 15 位数字之后,如果添加了逗号,它应该像这样验证

123456789123456,123456789123456,123456789123456

所有第 15 位数字之间的逗号将被接受,而不是在第 15 位数字之前我做了这个 ^[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 位,而不是像(逗号和 15 位)这样的模式 n 次:

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

你可能想要这样的东西:

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

它将接受 1 个 15 位数字序列,或多个 15 位数字序列,以逗号分隔。请注意,不允许使用空格和额外的逗号。

如果要允许空格,则应在验证之前删除所有空格。

于 2012-12-27T07:28:56.160 回答