在开发应用程序时,确保用户输入的数据格式正确是至关重要的。以下是一些常用的输入验证方法,以及如何将数据绑定到控件上的示例。
输入验证函数
public bool ValidatePhoneNumber(string phoneNumber) { return Regex.IsMatch(phoneNumber, "\d{3,4}-\d{7,8}"); } /// 验证电话号码
public bool ValidateNumber(string number) { return Regex.IsMatch(number, "^[0-9]*$"); } /// 验证数字
public bool ValidateFax(string faxNumber) { return Regex.IsMatch(faxNumber, "86-\d{3,4}-\d{7,8}"); } /// 验证传真
public bool ValidatePostalCode(string postalCode) { return Regex.IsMatch(postalCode, "\d{6}"); } /// 验证邮政编码
public bool ValidateEmail(string email) { return Regex.IsMatch(email, "\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"); } /// 验证电子邮件
public bool ValidateWebUrl(string webUrl) { return Regex.IsMatch(webUrl, "http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?"); } /// 验证网址
控件绑定与辅助功能
public ReportDocument BindReport(string reportName, string sqlQuery) { var report = new ReportDocument(); var reportPath = Path.Combine(Application.StartupPath, "..\..\SumManage\CReportFile", reportName); report.Load(reportPath); report.DataDefinition.RecordSelectiOnFormula= sqlQuery; return report; } /// 绑定报表
public void AutoGenerateNumber(string query, string tableName, string columnName, string prefix, string initialNumber, TextBox textBox) { string code = ""; int number = 0; var dataSet = boperate.GetDataSet(query, tableName); if (dataSet.Tables[0].Rows.Count == 0) { textBox.Text = prefix + initialNumber; } else { code = Convert.ToString(dataSet.Tables[0].Rows[dataSet.Tables[0].Rows.Count - 1][columnName]); number = Convert.ToInt32(code.Substring(2, 7)) + 1; code = prefix + number.ToString(); textBox.Text = code; } } /// 自动编号
public void BindComboBox(string query, string tableName, string displayMember, ComboBox comboBox) { var dataSet = boperate.GetDataSet(query, tableName); comboBox.DataSource = dataSet.Tables[tableName]; comboBox.DisplayMember = displayMember; } /// 绑定ComboBox控件
以上代码段展示了如何通过正则表达式验证不同类型的用户输入,并介绍了如何将数据动态地绑定到报表和下拉列表中。这些方法有助于提高应用的健壮性和用户体验。
来源:原始链接