如何使用Regex表达式处理拉丁字符以进行密码验证?

时间:2018-11-24 07:46:59

标签: asp.net regex

我正在编写密码验证代码,该代码应在给定的集合中包含一个大写字母,一个小写字母,一个数字和一个特殊字符。我为此写了正则表达式。我不知道该如何照顾“ÏÐÑÜÝÞßàáâ”等拉丁字符。这些拉丁字符将以大写还是小写还是特殊字符计数。

onClick="Myfunction"

1 个答案:

答案 0 :(得分:0)

您有两种选择,

1。您可以将拉丁字符解释为英文字符,并将小写字母定义为ST_contains,大写字母定义为[a-zà-ÿ]。在这种情况下,将在正则表达式中说明英语或拉丁字符的存在,并且根据您的密码规则,您的正则表达式可以这样写,

[A-ZÀ-ß]

Demo1

请注意,我已将密码中允许使用的字符限制为该字符集^(?=.*[a-zà-ÿ])(?=.*[A-ZÀ-ß])(?=.*\d)(?=.*[!@#$])[a-zà-ÿA-ZÀ-ß\d!@#$]{8,12}$ ,您可以对此字符集进行增强并允许更多字符,或者只写[a-zà-ÿA-ZÀ-ß\d!@#$]以允许任何字符。

2。在第二种情况下,您可能不想在密码实施条件下考虑拉丁字符,因此可以从前瞻表达式中的字符集中取出那些拉丁字符。而您的正则表达式就是这个,

.

Demo2

如您所见,您仍然可以在密码中允许使用拉丁字符作为密码,但是它不再参与必须在密码中至少包含一个小写/大写字符的情况。

让我知道是否对您有所帮助。