机房收费系统技术盘点--正则表达式

来源:互联网 发布:淘宝小号 不实名 购买 编辑:程序博客网 时间:2024/05/17 08:04

        现在,我正在写机房收费系统VB.NET版,也没写多少,刚写了4个功能(而且还有一个功能现在还出错,没调试出来)。有些地方感觉写的还行,有的地方还需要改进。我说说,我在机房收费系统中用的一些感觉比较好的东西。

       首先是正则表达式,只要Imports System.Text.RegularExpressions 就可以使用正则表达式了, 但是其实我对正则表达式知道的并不多。在这我把我用到的列举一下,有兴趣的可以看这个——正则表达式30分钟入门教程 。

       我现在用到的就是^,$(分别是数字键6和4上的),这两个是表示匹配的开始和结束。使用的时候最好把这两个加上,因为像是\d是匹配数字的,如果我写了这样一个正则匹配“\d{2}”,表示匹配两位数字,那么输入的字符串中只要有两个连续的数字,就可以通过验证;那么这样一个字符串“23wowne”,验证也是可以通的过的。但是写上^$,变成这样“^\d{2}$”,上面那个字符串“23wowne”,是通不过验证的。

       还有就是\d(匹配数字),\w(匹配字母或数字或下划线或汉字),据说,\D表示匹配任意非数字的字符,\W表示匹配任意不是字母,数字,下划线,汉字的字符,我没用过。这个内容是在“正则表达式30分钟入门教程”反义中。

    

.匹配除换行符以外的任意字符\w匹配字母或数字或下划线或汉字\s匹配任意的空白符\d匹配数字\b匹配单词的开始或结束^匹配字符串的开始$匹配字符串的结束

 

       还有就是重复次数,学名叫限定符。我常用的就是{n},重复N次和{n,m},重复n到m次。

 

*重复零次或更多次+重复一次或更多次?重复零次或一次{n}重复n次{n,}重复n次或更多次{n,m}重复n到m次

 

       具体代码是这样的,网上也有很多。这是登录窗体,然后控制用户名和密码的输入。机房收费系统中,这样的验证挺多地方都用的上,可以写成一个方法。或者利用一个循环遍历,将窗体上用的上的控件都遍历一遍,检查格式。但是这样的if嵌套会比较多,逻辑会变复杂,不好,还是一个一个检查吧!

Imports System.Text.RegularExpressions '正则表达式Public Class frmLogin    Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click          '正则表达式,控制输入        Dim patternUserID As String        Dim patternPassword As String              '对于正则表达式的定义,重复过多        patternUserID = "^\w{5,20}$"        patternPassword = "^\w{5,15}$"        '验证用户名格式        If Not (Regex.Match(txtUserID.Text, patternUserID).Success) Then            MessageBox.Show("用户名为长度为5-20的任意字母,数字,下划线")            txtUserID.Focus()            Exit Sub        Else            '验证密码格式            If Not (Regex.Match(txtPassword.Text, patternPassword).Success) Then                MessageBox.Show("密码为长度为5-15的任意字母,数字,下划线!")                txtPassword.Focus()                Exit Sub            End If        End If    End SubEnd Class

        然后是,不是特别重要的,获得计算机名。由于VB版的时候获取本机名算是比较复杂,要用到API。而在VB.NET中只要一句话就能搞定,很是方便。System.Net.Dns.GetHostName。

ComputerName = System.Net.Dns.GetHostName

       再来就是真的很简单的VS的一些应用,以前我没有用过,现在才注意到,觉得这些功能挺好的。

       我在解决方法资源管理器中,选择了一个窗体文件,然后显示的就是这样一排工具,     

,从左到右依次是属性,查看所有文件,刷新,查看代码,视图设计器,查看类图。

       点击“查看所有文件”,就会出现红框中的文件,再次点击,多出的文件就会隐藏。点开这些文件,可以发现里面有很多的文件。但是,目前好像用处不大。只是,以前总奇怪,C#中,如果引用了什么,可以在引用文件夹中看到,但是VB.NET中没有引用文件夹,总也看不到引用了什么。现在发现原来他是有引用文件夹的。

       然后就是查看类图,感觉这个功能挺好的。以后用来看每层的类关系,很方便。

       

        再来就是SqlHelper,可以增加D层代码的复用率。但是我也不大会,下次再写~
 

原创粉丝点击