正则表达式只允许0-9和 - 字符,以及点(。)

时间:2013-09-08 19:38:21

标签: c# regex

我需要正则表达式来验证0-9并允许.-个字符。

以下适用于0-9.字符:

Regex invalidCharsRegex = new Regex(@"^*[0-9\.]+$");

2 个答案:

答案 0 :(得分:5)

你的正则表达式很奇怪......

Regex invalidCharsRegex = new Regex(@"^*[0-9\.]+$");

删除第一个星号,它没有做任何好事。

要允许-个字符,只需将其添加到字符类即可。此外,您不需要在字符类中转义点:

Regex invalidCharsRegex = new Regex(@"^[0-9.-]+$");

如果您要验证某个数字,则必须修改此正则表达式,因为正则表达式将接受----.....。整数/浮点数有点像这样:

Regex invalidCharsRegex = new Regex(@"^\-?[0-9]+(?:\.[0-9]+)?$");

答案 1 :(得分:0)

Regex invalidCharsRegex = new Regex(@"(?<=^| )\d+(\.\d+)?(?=$| )|(?<=^| )\.\d+(?=$| )");

这将允许数字,如1,1.2,.1等