C#正则表达式实战:验证手机号、QQ号、姓名

1 下载量 148 浏览量 更新于2024-09-21 收藏 497KB PPT 举报
"C#正则表达式是用于处理文本模式匹配和字符串验证的重要工具,常见于各种数据验证场景,如手机号、QQ号和姓名的校验。在C#编程中,可以使用System.Text.RegularExpressions命名空间下的类来实现正则表达式功能。本文将详细介绍C#正则表达式的基本用法以及一些常见的元字符和限定符,帮助开发者更好地理解和应用正则表达式。 在C#中,我们可以使用Regex类来创建正则表达式对象,执行匹配、替换和分割等操作。例如,验证手机号码可以用到以下正则表达式: ```csharp string pattern = @"^1[3-9]\d{9}$"; Regex regex = new Regex(pattern); bool isValid = regex.IsMatch("13812345678"); ``` 这里的`^`表示匹配开始,`1[3-9]`确保号码以1开头且第二个数字在3到9之间,`\d{9}`表示接下来有9位数字,`$`表示匹配结束。 对于QQ号的验证,可以使用类似的方式: ```csharp string pattern = @"^[1-9][0-9]{4,10}$"; Regex regex = new Regex(pattern); bool isValid = regex.IsMatch("1234567890"); ``` 姓名的验证则相对复杂,因为姓名可以包含汉字、英文和其他字符,需要根据具体需求定制正则表达式。 在数据库配置方面,C#应用程序通常会使用App.config文件来存储连接字符串。如示例所示,配置文件中的`<connectionStrings>`节点用于定义数据库连接信息,例如: ```xml <connectionStrings> <add name="LocalSqlServer" connectionString="server=syb;uid=sa;pwd=;database=northwind"/> </connectionStrings> ``` 然后,可以使用`System.Configuration.ConfigurationManager`类来访问这些连接字符串: ```csharp string connectionString = ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString; ``` 在UI开发中,下拉框(ComboBox)是常用控件。填充下拉框数据如下: ```csharp DataTable dt = 数据库中读出的数据; this.salesManIDCmb.DataSource = dt; this.salesManIDCmb.DisplayMember = "显示的字段"; this.salesManIDCmb.ValueMember = "值字段"; ``` `DisplayMember`属性设置为要在下拉框中显示的字段,而`ValueMember`属性设置为关联的值字段。通过`SelectedValue`属性可以获取用户选择的隐藏值。 正则表达式元字符是具有特殊意义的字符,如`^`表示行首,`$`表示行尾,`[]`用于指定字符集,`\w`代表任何单词字符,`\s`匹配任何空白字符。限定符如`*`表示零个或多个匹配,`+`表示一个或多个匹配,`?`表示零个或一个匹配,`{n}`表示精确匹配n次,`{n,}`表示至少匹配n次,`{n,m}`表示匹配n到m次。此外,懒惰限定符如`*?`、`+?`和`??`会让正则表达式尽可能少地匹配字符。 了解并熟练运用这些元字符和限定符,可以帮助开发者编写出更高效、更精准的正则表达式,从而提高代码的健壮性和数据验证的准确性。"