我的RegularExpressValidator1没有开火。不确定下面缺少什么。有什么建议吗?
<td class="txtbox1"><asp:TextBox ID="txtCard" runat="server" ></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1"
ControlToValidate="txtCard"
Forecolor="Red"
ValidationExpression="(0*[1-9]\d*)" runat="server"
ErrorMessage = "Enter numeric number only.">
</asp:RegularExpressionValidator>
</td>
答案 0 :(得分:0)
仔细查看Microsoft的页面How To: Use Regular Expressions to constrain input in ASP.Net。
将表达式括在插入符号(^)和美元符号($)标记中可确保表达式包含所需内容而不包含任何其他内容。 A ^匹配输入字符串开头的位置,$匹配输入字符串末尾的位置。如果您省略这些标记,攻击者可能会将恶意输入附加到有效内容的开头或结尾,并绕过您的过滤器。
如果向下滚动到标题为公共正则表达式的部分,则它包含正整数的RegEx:
.instagram-section {
text-align: right;
font-family: 'Life Savers', cursive;
font-size: 1em;
}
.instagram-section a img.ig-logo{
height: 25px;
display: inline;
}
他们的模式限制输入仅数字,而你的模式似乎只是检查是否以任何方式包含数字。
举个例子,考虑一下这个输入:
^\d+$
使用1234 and text!
(Source)
^\d+$
使用0 matches
(Source)
(0*[1-9]\d*)
作为一个不相关的说明,我建议您从修改占位符文字&#34;仅输入数字。&#34; 类似&#34;输入一个数字&#34; 或&#34;输入一个数字值&#34; ,作为&#34;数字编号&#34;有点多余!