我需要帮助来限制我的文本框只接受数字。我有另一个文本框事件textchanged,在这种情况下,我想不允许用户写其他字符而不是数字。已经实现了maxlength但我无法验证只是数字。 这是我想要实施的条件:
Context.MODE_PRIVATE
答案 0 :(得分:2)
您可以在aspx page
中完成此操作,如下所示: -
<asp:TextBox ID="txtNumbers" runat="server" autocomplete="off" ValidationGroup="AddNew"></asp:TextBox>
<asp:RegularExpressionValidator ID="regNumbers" runat="server" ErrorMessage="Only numbers are allowed" ControlToValidate="txtNumbers" ValidationExpression="^[0-9]*$" ValidationGroup="AddNew"></asp:RegularExpressionValidator>
您无需使用code-behind
即可。
希望这有帮助
答案 1 :(得分:1)
您可以从代码后面添加验证器。尝试执行以下操作:
Protected Sub txtIdType_TextChanged(sender As Object, e As EventArgs)
Dim txtb As TextBox = CType(FormViewPerson.FindControl("txtIdType"), TextBox)
Dim txtb1 As TextBox = CType(FormViewPerson.FindControl("TextBoxIDCode"), TextBox)
If (txtb.Text = "Leternjoftimi" OrElse txtb.Text = "KosovoIDCard" OrElse txtb.Text = "Licna karta") Then
txtb1.MaxLength = 10
Dim validator As New RegularExpressionValidator()
validator.ID = "validator" + New Random().[Next](100, 1000)
validator.ControlToValidate = CType(FormViewPerson.FindControl("TextBoxIDCode"), TextBox).ID
validator.ValidationExpression="^[0-9]*$"
FormViewPerson.Controls.Add(validator)
End If
End Sub
Suksese!
答案 2 :(得分:1)
我使用此功能解决了我的问题:
For Each ch As Char In txt.Text
If Not Char.IsDigit(ch) Then
txt.Text = ""
Exit Sub
End If
Next