我目前使用包含正则表达式模式的以下方法验证我的基于英语的密码字段。
/**
* Validates password based on following rules:
* Must contain a lowercase letter
* Must contain a Uppercase letter
* Must contain a number
* Must be longer than 8 chars
* Can contain special chars
*/
exports.isValidPassword = function (password) {
var pattern = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{8,}$/;
var result = pattern.test(password);
return result;
};
我有一个新的要求,我需要支持阿拉伯语言,如何在保持现行规则的同时实现这一目标?我在过去看到人们将{arabic}
置于正则表达式模式中,但我不确定这是否适用于我的案例。
答案 0 :(得分:3)
[\u0621-\u064A]
应匹配阿拉伯字母表中的任何字母。
将此添加到正则表达式中允许的字符范围内应该这样做。
请注意,阿拉伯语没有拉丁字母的大写和小写字母,因此您必须考虑如何定义密码要求。