在 Visual Basic 中使用文本框时如何限制脏话输入
How to restrict swear word input when using a textbox within Visual Basic
我有过几个想法,但大多数在线解决方案只限制某些键或只限制数字,而不是完整的字符串。
我想要一个解决方案,只要输入脏话的按键,VB 就会检测到它然后禁止它。我已经能够进行精确的字符串匹配,所以如果用户将工作 F*** 放入其中,则会显示一条错误消息,但如果用户决定放入 "F***nugget",这将不起作用。输入所有可能的脏话组合既不优雅也不可行。在此先感谢您的帮助。
If e.KeyChar = "F***" Then
SelectionTextBoxTeamName.Clear()
MessageBox.Show("Please choose something else")
您需要一个 'string contains' 函数。
如果你在写 vb.net 试试 String
的 Contains function,它是这样使用的:
Dim b As Boolean
b = s1.Contains(s2)
如果您不是在 .net 中编写
试试 InStr 函数。您可以按如下方式使用它:
InStr("find the comma, in the string", ",")
编辑:操作员评论后
如果你想检查几个发誓,你可以把它们放在一个数组中并检查每个:
Dim swears = {"F***", "S***"}
Dim hasSwears As Boolean = false
For Each swear As String In swears
If InStr(textBox.Text, swear) > 0 Then
hasSwears = true
End If
Next
现在你知道有没有任何根据hasSwears
发誓了。
我有过几个想法,但大多数在线解决方案只限制某些键或只限制数字,而不是完整的字符串。
我想要一个解决方案,只要输入脏话的按键,VB 就会检测到它然后禁止它。我已经能够进行精确的字符串匹配,所以如果用户将工作 F*** 放入其中,则会显示一条错误消息,但如果用户决定放入 "F***nugget",这将不起作用。输入所有可能的脏话组合既不优雅也不可行。在此先感谢您的帮助。
If e.KeyChar = "F***" Then
SelectionTextBoxTeamName.Clear()
MessageBox.Show("Please choose something else")
您需要一个 'string contains' 函数。
如果你在写 vb.net 试试 String
的 Contains function,它是这样使用的:
Dim b As Boolean
b = s1.Contains(s2)
如果您不是在 .net 中编写
试试 InStr 函数。您可以按如下方式使用它:
InStr("find the comma, in the string", ",")
编辑:操作员评论后
如果你想检查几个发誓,你可以把它们放在一个数组中并检查每个:
Dim swears = {"F***", "S***"}
Dim hasSwears As Boolean = false
For Each swear As String In swears
If InStr(textBox.Text, swear) > 0 Then
hasSwears = true
End If
Next
现在你知道有没有任何根据hasSwears
发誓了。