Input 在Visual Basic中使用文本框时如何限制脏话输入

Input 在Visual Basic中使用文本框时如何限制脏话输入,input,textbox,Input,Textbox,我有几个想法,但大多数在线解决方案只限制某些键或数字,而不是完整的字符串。 我想要一个解决方案,一旦一个咒骂词的按键被输入,VB检测到它,然后不允许它。我已经能够进行精确的字符串匹配,因此如果用户将作品F***放入,则会显示一条错误消息,但如果用户决定放入“F***nugget”,这将不起作用。输入各种可能的脏话组合既不优雅也不及时。提前谢谢你的帮助 If e.KeyChar = "F***" Then SelectionTextBoxTeamName.Clear() Messa

我有几个想法,但大多数在线解决方案只限制某些键或数字,而不是完整的字符串。
我想要一个解决方案,一旦一个咒骂词的按键被输入,VB检测到它,然后不允许它。我已经能够进行精确的字符串匹配,因此如果用户将作品F***放入,则会显示一条错误消息,但如果用户决定放入“F***nugget”,这将不起作用。输入各种可能的脏话组合既不优雅也不及时。提前谢谢你的帮助

If e.KeyChar = "F***" Then
    SelectionTextBoxTeamName.Clear()
    MessageBox.Show("Please choose something else")

您需要一个“string contains”函数。 如果您是在vb.net中编写,请尝试
String
,其用法如下:

Dim b As Boolean
b = s1.Contains(s2)

如果你不是在.net中写作 试试函数。您可以按如下方式使用它:

InStr("find the comma, in the string", ",")
编辑:在op的评论之后

如果要检查多个咒语,可以将它们放在一个数组中,并检查每个咒语:

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

现在你知道了,根据哈斯沃兹的说法,是否有任何咒骂,我试着用这个,但不是比较两个字符串,而是看看文本框中输入的文本是否是咒骂词。请参见下文,您需要文本框的值字符串(我认为它在.net中称为文本属性)。一旦有了字符串变量,就可以使用某种形式的contains来查找其中的swears。对于c#它应该是smth,比如:textBox.Text.Contains(“F***”)Arnon's for Visual Basic 2012,我也尝试过这种语法,'textBox.Text.Contains=“F***”但是它给我带来了一个错误。因为你没有使用.net:
InStr(textBox.Text,“F***”)这非常有效,但是如果我想在同一行中添加几个脏话呢。。。e、 g.指令(textBox.text,'F***','S***')