巧用正则表达式

前言

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

内容

正则表达式

定义

    百度百科:

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

结构

    一些普通字符和一些元字符(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、多多探索会有不同的收获。


感谢您的宝贵时间···



原文地址:https://www.cnblogs.com/zhoulitong/p/6412405.html