vb.net – 是否有更简洁的正则表达式来完成此任务?

前端之家收集整理的这篇文章主要介绍了vb.net – 是否有更简洁的正则表达式来完成此任务?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,抱歉蹩脚的头衔,但我想不出更好的一个.我需要测试密码以确保以下内容

密码必须至少包含以下3项内容

>大写字母
>小写字母
>数字
>特殊字符

这是我提出的(它有效,但我想知道是否有更好的方法):

Dim lowerCase As New Regex("[a-z]")
    Dim upperCase As New Regex("[A-Z]")
    Dim numbers As New Regex("\d")
    Dim special As New Regex("[\\\.\+\*\?\^\$\[\]\(\)\|\{\}\/\'\#]")

    Dim count As Int16 = 0

    If Not lowerCase.IsMatch(txtUpdatepass.Text) Then
        count += 1
    End If
    If Not upperCase.IsMatch(txtUpdatepass.Text) Then
        count += 1
    End If
    If Not numbers.IsMatch(txtUpdatepass.Text) Then
        count += 1
    End If
    If Not special.IsMatch(txtUpdatepass.Text) Then
        count += 1
    End If

如果至少有3个标准未得到满足,我会处理它.我不熟悉正则表达式,并且已经在网上阅读了大量的教程.有没有办法将所有4个正则表达式合并为一个?但我想这样做不会让我检查是否满足至少3个标准.

另外,是否有一个网站有一个详尽的列表,列出了需要在正则表达式中转义的所有字符(具有特殊含义的那些 – 例如.$,^等)?

一如既往,TIA.我无法表达我认为这个网站有多棒.

你拥有它的方式是尽可能好.你可以在一行中完成这一切,但它会非常混乱,根本不会真正有用.

想想你想要做什么;你想检查四个不同的标准.由于每个标准基本上都是单一的比较,因此您需要单独检查每个标准,这就是您正在做的事情.

猜你在找的VB相关文章