asp.net - 文本框验证以确保仅具有整数值
问题描述
示例文本框 大家好,我如何添加验证表达式以在我的文本框中只接受数字和空格?如上图示例。我尝试这种方式 ValidationExpression="[0-100' ']{100,}" 但不正确..
<asp:TextBox ID="txtCopied" runat="server" TextMode="MultiLine"
Height="200px" Width="617px" />
<asp:RegularExpressionValidator ID="rvDigits" runat="server"
ControlToValidate="txtCopied" ErrorMessage="Enter numbers only till 100
digit" ValidationGroup="valGroup" ForeColor="Red" ValidationExpression="
[0-100' ']{100,}" />
解决方案
我尝试使用 ServerValidate 而不是 RegularExpressionValidator 并试图弄乱它。
<form id="form1" runat="server">
<asp:TextBox ID="txtCopied" runat="server" TextMode="MultiLine" Height="200px" Width="617px" MaxLength="2000" />
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="txtCopied" OnServerValidate="TextValidate"
ValidateEmptyText="True" SetFocusOnError="True" ErrorMessage="Enter numbers only till 100 digit" Display="Dynamic" />
</form>
Public Class WebForm1
Inherits System.Web.UI.Page
Protected Sub TextValidate(source As Object, args As ServerValidateEventArgs) Handles CustomValidator1.ServerValidate
Dim strRegex As String = "\b(0{0,2}[1-9]|0?[1-9][0-9]|1[1-9][0-9]|100)\b"
Dim re As New Regex(strRegex, RegexOptions.Multiline)
Dim ss As String() = args.Value.Split(" ")
For i = 0 To ss.Length - 1
args.IsValid = re.IsMatch(ss(i))
Next
End Sub
End Class
推荐阅读
- wpf - 条上闪烁
- python - 根据数据可用性从不同列中减去两个日期
- c# - 如何在 Unity 中设置 VrCamera?
- python - 游戏循环基础知识
- spring - Spring Boot 国际化适用于法语但不适用于韩语
- rx-swift - 在publishedSubject 上使用.startWith 和在publishedSubject 上使用.onNext 之间的区别
- json - Amazon 策略生成器 - 策略包含无效资源
- ios - Switch View Controller From TableViewCell Class in Swift
- python - 如何从另一个 pod 或 Kubernetes 实体创建/删除 pod
- python - 如何删除非ASCII字符?