我在HTA中创建一个文本框,用户必须添加他的全名。但问题是用户可以添加名称“-hai_772”。我只是希望用户只能使用字母,他可以在两个单词中使用空格。
我尝试了以下操作,但失败了,因为我不知道如何为特殊的所有不需要的字符设置模式。
Set re = New RegExp
re.Pattern = "[Specialchrs,numeric-space]"
re.IgnoreCase =True
re.Global = True
hasMatches = re.Test(textbox.value)
If hasMatches =True Then
MsgBox "use letter"
End If
答案 0 :(得分:1)
检查输入字符串是否包含任何“已知良好”的字符,而不是检查“已知错误”字符:
Set re = New RegExp
re.Pattern = "[^a-z ]"
re.IgnoreCase = True
re.Global = True
If re.Test(textbox.value) Then
MsgBox "use letters"
End If
通过将插入符号(^
)放在字符类([...]
)的开头,可以反转该类(即使其匹配类中未列出的字符)。有关详细信息,请参阅here。
比通过脚本检查输入更好的是定义输入字段的允许字符,因此它首先不接受其他输入:
<input type="text" pattern="[a-zA-Z ]*" />