我使用Regex验证了一个至少包含8个字符的密码,其中包含1个大写字母、1个小写字母、1个特殊字符和1个数值.我遇到的问题是,如果来自俄罗斯或其他语言与英语不同的国家的人试图使用默认键盘输入密码,这将给他们带来问题.
目前我已经为我的应用程序设置了这个正则表达式条件:
String regex = "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$";
如果用户用英语设置密码,它就会起作用.但如果用户的语言不同,它就不起作用.(像Испытание@123
这样的密码将失败).
我在谷歌上搜索了关于俄语regex的默认键盘,找到了俄语键盘的解决方案.
我是否需要计算所有不同语言的密码验证 正则表达式?
有没有其他解决方案可以让我用我想要的密码验证来判断任何默认键盘布局的密码?