巧用正则表达式
前言
现在在做人力资源管理项目,用户提出新的需求,需要对手机号加以判断。于是,大家都懂得,开始了探索的道路。
内容
正则表达式
定义
百度百科:
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的而一些特定的字符、及这些特定的字符的组合,组成一个“规则字符串”这个“规则字符串”用来表达对字符串的一种过滤逻辑。
结构
一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字符和数字,而元字符则具有特殊含义。这里推荐大家还是看看百度百科上面关于百度百科的说法。正则表达式
常用几类
| 功能 |
正则表达式 |
| 验证汉字 | ^[\u4e00-\u9fa5]{0,}$ |
| 验证英文和数字 | ^.[A-Za-z0-9]+$ |
| 验证输入为大(小)写应为字符 | ^.[A-Z]+$" '小写的为 ^.[a-z]+$ |
| 验证只输入N个字符 | ^.{n}$ |
| 验证网址 | [a-zA-z]+://[^\s]* |
| 验证IP地址 |
\b((25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\b 或 ^(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、多多探索会有不同的收获。
感谢您的宝贵时间···
浙公网安备 33010602011771号