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

现在,我正在写机房收费系统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 Sub
End Class

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

ComputerName = System.Net.Dns.GetHostName

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

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

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

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

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

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

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...