如何获取Dash和Numbers的正则表达式

时间:2013-08-22 11:46:14

标签: asp.net regex

在asp.net中,我想使用regularexpressionvalidator作为电话号码。要求仅允许数字和Dash( - )

                    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtPhone"
                        ErrorMessage="Not a Valid Phone Number" ValidationExpression="\d*">

以上代码仅验证数字,但不验证Dash( - )。像用户随机放 23333-34(应接受)或任何组合。它不一定 - 会在那里。它可能只是数字的一些时间。 请帮忙。感谢。

4 个答案:

答案 0 :(得分:1)

必须以一个或多个号码开头,然后是可能的短划线,并且必须以另一个号码结束。

^\d+\-?\d+$

答案 1 :(得分:0)

尝试接受数字或破折号,只有在没有其他短划线后才会破折号。

(\d|[-](?![-]))*

答案 2 :(得分:0)

你需要像

这样的东西
\d*(-?)

答案 3 :(得分:0)

我的猜测是这样的:

 ^ \d+ (?: - \d+ )+ $