请问如何验证用户输入金额是否符合规范?希望客户输入格式为:x,xxx.00,  x,xxx,xxx.00,  ...(即要用,与.隔开),请大家帮忙看看,给出方法,多谢了。。

解决方案 »

  1.   

    string[] slist = {"1","1.", "1.0","1.00","12.00","123.00","1,234.00","12,345.00","123,456.00","1,234,567.00"};
    Regex re = new Regex(@"^\d{1,3}(,\d{3})*\.\d{2}$"); 
    //if integer,., .0,  allowed, try 
    //Regex re = new Regex(@"^\d{1,3}(,\d{3})*(\.\d{0,2})?$"); 
    foreach (string s in slist)
    Console.WriteLine("{0} matches {1}", s, re.IsMatch(s));
      

  2.   

    多谢思归大哥的热心回答,不过您的方法我不知怎样把它用上去。我是想达到这样的效果:.aspx中有个金额的输入框textbox,当客户输入的格式不是x,xxx.00,  x,xxx,xxx.00, 等类似的格式,就跳出“输入格式不正确”的提示。
    我原先的想法是取得 textbox值后,先判断该值为数值型,如“123456”,再把字符串逆序排列,再判断该字符串有无.与,和. ,的位置是否正确。不知我这样的想法是否正确,如果可以,那代码该怎样写?请思归大哥再帮忙一下,小弟不胜感激!!
      

  3.   

    <script  runat="server">
    sub submit(sender As Object, e As EventArgs) 
    if Page.IsValid then 
       lbl.Text="The page is valid!"
    else 
       lbl.Text="The page is not valid!"
    end if
    end sub
    </script><html>
    <body><form runat="server">
    Enter a US zip code:
    <asp:TextBox id="txtbox1" runat="server" /><asp:RegularExpressionValidator 
    ControlToValidate="txtbox1"
    ValidationExpression="^\d{1,3}(,\d{3})*\.\d{2}$"
    ErrorMessage="***invalid format"
    runat="server" />
    <br /><br />
    <asp:Button text="Submit" OnClick="submit" runat="server" />
    <br /><br />
    <asp:Label id="lbl" runat="server" />
    <br /></form></body>
    </html>
      

  4.   

    万分感谢您!思归大哥!!。the problem is solved.