javascript中不允许非英语字符的正则表达式

javascript中不允许非英语字符的正则表达式,javascript,regex,Javascript,Regex,我想创建一个正则表达式,它允许使用特殊字符,但不允许使用非英语字母。我的验证正则表达式是: /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/; 此外,此正则表达式允许使用数字,如您所见此正则表达式匹配不包括英文字母的字符串: ^[^a-zA-Z]+$我的说明是使用正则表达式:o密码长度至少应为八(8)个字符。o它应该由小写和大写拉丁字母字符、数字和特殊符号组成。对于我的正则表达式,例如,如果我添加希腊字母

我想创建一个正则表达式,它允许使用特殊字符,但不允许使用非英语字母。我的验证正则表达式是:

/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/; 

此外,此正则表达式允许使用数字,如您所见

此正则表达式匹配不包括英文字母的字符串:


^[^a-zA-Z]+$

我的说明是使用正则表达式:o密码长度至少应为八(8)个字符。o它应该由小写和大写拉丁字母字符、数字和特殊符号组成。对于我的正则表达式,例如,如果我添加希腊字母a,则不会出现错误。一般提示:不必对所有内容都使用正则表达式。例如,可以通过检查字符串的长度来执行长度强制。您还可以执行多个测试(使用更简单的正则表达式),而不是试图将所有规则塞进一个单一的正则表达式中。生成的代码将更易于阅读。这通常是最重要的。我非常同意你的观点。但是我的项目必须使用regexplore,请发布一些你想要匹配的示例。“但是不允许非英语”^(?:[#?!@$%^&*-]|[0-9])+$,那么你为什么不使用它呢?请注意,您需要找出所有符号并将它们全部放在其中。如果某些符号出现错误,您只需将它们更改为Unicode,如^(?[\u0022\u0020…].[0-9])+$^(?[\u0023\u003F\U0021\U0021\U0021\U0021\u0040\u0024\u0025\u005E\u0026\u002A\u002D]|[0-9]|[a-zA-Z]){8,}$,然后在应用正则表达式之前,对变量应用trim()函数。如果\u0023\u003F