那么,为什么不将它们添加到您现有的角色类中呢?
var pattern = /[a-zA-Z0-9&._-]/
如果您需要检查字符串是否只包含那些字符,则还必须锚定表达式:
var pattern = /^[a-zA-Z0-9&._-]+$/
分别添加^
和$
匹配字符串的开头和结尾。
可以对字母、数字或下划线进行测试,\w
以缩短您的表达:
var pattern = /^[\w&.-]+$/
正如 Nathan 的评论中提到的,如果您不使用结果.match()
(它返回一个匹配的数组),最好使用RegExp.test()
它返回一个简单的布尔值:
if (pattern.test(qry)) {
// qry is non-empty and only contains letters, numbers or special characters.
}
更新 2
如果我误读了问题,下面将检查是否满足所有三个单独的条件。
if (/[a-zA-Z]/.test(qry) && /[0-9]/.test(qry) && /[&._-]/.test(qry)) {
// qry contains at least one letter, one number and one special character
}