正则表达式只允许 0-9 和 - 字符和点 (.)

本文关键字:字符 正则表达式 | 更新日期: 2023-09-27 18:30:33

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

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

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

正则表达式只允许 0-9 和 - 字符和点 (.)

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

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

去掉第一个星号,它没有任何好处。

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

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

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

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

这将允许像 1、1.2、.1 等这样的数字