Javascript 我需要一个regexp,如果每个字符都在[a-zA-Z0-9_]之外,或者字符串只是数字,则该regexp将失败

Javascript 我需要一个regexp,如果每个字符都在[a-zA-Z0-9_]之外,或者字符串只是数字,则该regexp将失败,javascript,regex,html,Javascript,Regex,Html,如果字符串仅包含除[a-zA-Z0-9]以外的数字或字符,则以下JavaScript代码返回false function validate(n) { return (!/^[\d]+$/.test(n) && /^[\w]+$/.test(n)); } 只需要一个regexp就可以做到这一点吗?我想利用输入标记上的模式属性进行验证 <input type="text" pattern="..."> 编辑:我还希望它在5到20个字符之间,像这样:^[a-

如果字符串仅包含除[a-zA-Z0-9]以外的数字或字符,则以下JavaScript代码返回false

function validate(n) {
    return (!/^[\d]+$/.test(n) && /^[\w]+$/.test(n));
}
只需要一个regexp就可以做到这一点吗?我想利用输入标记上的模式属性进行验证

<input type="text" pattern="...">


编辑:我还希望它在5到20个字符之间,像这样:
^[a-zA-Z0-9.]*[a-zA-Z.]+[a-zA-Z0-9.]*$


此正则表达式匹配零个或多个字符(包括数字),至少一个字符不是数字,然后是另一个零个或多个字符(包括数字)。

谢谢,但我忘了写下我需要字符串的最小长度和最大长度。@Christian:我不确定是否可以在单个正则表达式中完成所有这些操作。