1

我正在通过使用 SharePoint Designer 添加正则表达式验证器来验证 SharePoint 列表字段。该列表将位于由 SP 设计器创建的 DataFormWebPart 中。

验证:在字段中输入的值必须是0.00格式。无论在文本框中输入的值如何,都会填充错误消息。即使我输入正确1.23的值(如()),也会显示错误消息。

这个问题与下面的问题类似吗?

ASP.NET 正则表达式验证器在 Internet Explorer 7 上不起作用

如果匹配,请建议为此正则表达式编写一个前瞻模式。正则表达式是

^[0-9]1.[0-9]2$
4

2 回答 2

2

您可能正在尝试这样做:[0-9]{1}\.[0-9]{2}(where {1}and {2}are quantifiers),但也不要这样做。伪量词{1}只会给你的正则表达式添加混乱。如果您真的只想接受点 ( .) 前的一位数字,请使用以下命令:

^[0-9]\.[0-9]{2}$ 

如果你想在点之前接受一个或多个数字,你可以使用这个:

^[0-9]+\.[0-9]{2}$ 

如果您不想接受带前导零的数字(01.23,000.00等),请使用:

^(?:[1-9][0-9]*|0)\.[0-9]{2}$ 

(?:[1-9][0-9]*|0)匹配一个或多个数字,其中第一个数字至少是1,或恰好是一个零(0.101.23456.78等)。

您还提到了前瞻,但在这种情况下不需要它们。

于 2012-10-16T00:57:10.510 回答
0

您作为示例提供的数字与您提供的正则表达式不匹配。0.00 格式的正则表达式是^[0-9][.][0-9][0-9]$点是保留字符。所以你需要把它放在一个共享点字符串的括号中。如果是 javascript,您将转义 . 使用斜杠键,因此正则表达式将变为^[0-9]\\.[0-9][0-9]$因为反斜杠是保留的 javascript 字符,您可能需要双反斜杠来获得正则表达式的单个反斜杠。

于 2012-10-16T00:00:47.980 回答