在 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 试试 StringContains 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发誓了。