正则表达式验证器不在sharepoint设计器中工作

时间:2012-10-15 22:54:15

标签: .net regex sharepoint

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

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

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

ASP.NET Regular Expression Validator Not Working on Internet Explorer 7

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

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

2 个答案:

答案 0 :(得分:2)

您可能尝试这样做:[0-9]{1}\.[0-9]{2}(其中{1}{2}quantifiers),但也不要这样做。伪量词{1}什么都不做,只会给你的正则表达式带来混乱。如果你真的想在点(.)之前只接受一个数字,请使用:

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

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

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

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

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

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

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

答案 1 :(得分:0)

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