我通过使用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$
答案 0 :(得分:2)
您可能尝试这样做:[0-9]{1}\.[0-9]{2}
(其中{1}
和{2}
为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.10
,1.23
,456.78
等等。)。
您还提到了前瞻,但在这种情况下不需要它们。
答案 1 :(得分:0)
您提供的数字作为示例与您提供的正则表达式不匹配。 0.00格式的正则表达式是^[0-9][.][0-9][0-9]$
点是保留字符。因此,您需要将其放在sharepoint字符串的括号中。如果它是javascript你会逃脱。使用斜杠键使正则表达式成为^[0-9]\\.[0-9][0-9]$
因为反斜杠是一个保留的javascript字符,你可能需要双反斜杠来获得正则表达式的单个反斜杠。