数据验证,阻止用户输入除a-z和空格以外的任何其他字符?

时间:2016-02-09 01:42:18

标签: vbscript hta

我在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

1 个答案:

答案 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 ]*" />