1,千位分隔符(,)。
2,不可为0。
3,不可为小数。
例:
13,234,023 (通过)
13,03,03(不通过,千位分隔)
0(不通过,不可为0)
1,323.32(不通过,不可为小数)
大家别觉得我要求的恶心,我也是没办法。
是客户恶心呀。

解决方案 »

  1.   

    Regex regex = new Regex("^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)$", RegexOptions.IgnoreCase);
      

  2.   


               Regex reg = new Regex(@"(?<=,)\d{3}|^[1-9]\d{0,2}$");
                bool bReturn = reg.IsMatch("13,234,023");
                bool bReturn1 = reg.IsMatch("13,03,03");
                bool bReturn2 = reg.IsMatch("0");
                bool bReturn3 = reg.IsMatch("23");你看看这个,测试了几个,到还可以.
      

  3.   


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Text.RegularExpressions;namespace WindowsApplication24
    {
        public partial class Form5 : Form
        {
            public Form5()
            {
                InitializeComponent();
            }        private void Form5_Load(object sender, EventArgs e)
            {
                Regex reg = new Regex(@"(?<=,)\d{3}|^[1-9]\d{0,2}$");
                bool bReturn = reg.IsMatch("13,234,023");
                bool bReturn1 = reg.IsMatch("13,03,03");
                bool bReturn2 = reg.IsMatch("0");
                bool bReturn3 = reg.IsMatch("23");
            }
        }
    }
    怎么会,我这里没错误啊.
      

  4.   

    ^(([1-9])(\d{0,2})){1}(,\d{3})*$写的傻了点。
    不过功能可以实现。
    PS:本人也接触正则不多,大家多交流~
      

  5.   

    To 11楼。
    我是在页面上用js验证的。
    确实报正则表达式错误。
    你可以在页面上试下。To 12楼。
    我试试。
      

  6.   

    To zhaoyaoxing
    谢。
    经测试,完全正确。
    看来是藏龙卧虎的高手呀。