• 巧用正则表达式


    前言

        现在在做人力资源管理项目,用户提出新的需求,需要对手机号加以判断。于是,大家都懂得,开始了探索的道路。

    内容

    正则表达式

    定义

        百度百科:

        正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的而一些特定的字符、及这些特定的字符的组合,组成一个“规则字符串”这个“规则字符串”用来表达对字符串的一种过滤逻辑。

    结构

        一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字符和数字,而元字符则具有特殊含义。这里推荐大家还是看看百度百科上面关于百度百科的说法。正则表达式

    常用几类

    功能
    正则表达式
    验证汉字 ^[u4e00-u9fa5]{0,}$
    验证英文和数字 ^.[A-Za-z0-9]+$
    验证输入为大(小)写应为字符 ^.[A-Z]+$" '小写的为 ^.[a-z]+$
    验证只输入N个字符 ^.{n}$
    验证网址 [a-zA-z]+://[^s]*
    验证IP地址

    ((25[0-5]|2[0-4]d|[01]dd|d?d).){3}(25[0-5]|2[0-4]d|[01]dd|d?d) 

    ^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$(验证范围较大)

    验证手机号或座机号 (d{11})|^((d{7,8})|(d{4}|d{3})-(d{7,8})|(d{4}|d{3})-(d{7,8})-(d{4}|d{3}|d{2}|d{1})|(d{7,8})-(d{4}|d{3}|d{2}|d{1}))$
    验证邮箱 ^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$


    举例代码实现(VB.NET)

    引用:

    <span style="font-family:KaiTi_GB2312;font-size:18px;">Imports System.Text.RegularExpressions</span>

    抽象出来的方法:

    <span style="font-family:KaiTi_GB2312;font-size:18px;">    Private Function funCheckRegular(ByVal strPattern As String)
            Return Regex.IsMatch(txt.Text.Trim, strPattern)
        End Function</span>

    验证textbox文本框手机号:

    <span style="font-family:KaiTi_GB2312;font-size:18px;">'验证手机号
        Private Const C_Tel = "(d{11})|^((d{7,8})|(d{4}|d{3})-(d{7,8})|(d{4}|d{3})-(d{7,8})-(d{4}|d{3}|d{2}|d{1})|(d{7,8})-(d{4}|d{3}|d{2}|d{1}))$"
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            If txt.Text.Trim.Length = 0 Then Exit Sub
            Dim strPattern As String = String.Empty
            strPattern = C_Tel
            If funCheckRegular(strPattern) Then
                MsgBox(" It's Right", MsgBoxStyle.Information, Me.Text)
            Else
                MsgBox("Wrong!!!", MsgBoxStyle.Exclamation, Me.Text)
            End If
        End Sub</span>

    验证结果:



    好处

    1、可以通过正则表达式过滤给定的字符串,从而达到自己想要的字符串。

    2、灵活性、逻辑性和功能性非常的强。

    3、可以迅速的用极其简单的方式达到字符串的复杂控制。

    应用

       由于正则表达式的应用对象的文本,因此在各种文本编辑器场合很常用。

    小结

    1、生活就是不断的产生新的需求,不断的解决进步。

    2、多多探索会有不同的收获。


    感谢您的宝贵时间···



  • 相关阅读:
    C# 代码中调用 Javascript 代码段以提高应用程序的配置灵活性(使用 Javascript .NET 与 Jint)
    非软件行业公司自建软件开发部门能力不强的原因分析
    编程经验点滴----巧妙解决 Oracle NClob 读写问题
    编程经验点滴----在 Oracle 数据库中保存空字符串
    这几天上海移动网络可以直接打开 Google Play 了
    品牌电脑硬盘损坏后,使用MediaCreationTool从微软官方下载正版Windows到USB做安装盘
    编程经验点滴----使用接口表保存可能并发的业务,然后顺序处理
    生产打印系统的一些汇总--商业合同方面
    生产打印系统的一些汇总--概要
    外观模式
  • 原文地址:https://www.cnblogs.com/zhoulitong/p/6412405.html
Copyright © 2020-2023  润新知