热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据输入验证与控件绑定方法

本文提供了多种数据输入验证函数及控件绑定方法的实现代码,包括电话号码、数字、传真、邮政编码、电子邮件和网址的验证,以及报表绑定和自动编号等功能。

在开发应用程序时,确保用户输入的数据格式正确是至关重要的。以下是一些常用的输入验证方法,以及如何将数据绑定到控件上的示例。

输入验证函数

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控件

以上代码段展示了如何通过正则表达式验证不同类型的用户输入,并介绍了如何将数据动态地绑定到报表和下拉列表中。这些方法有助于提高应用的健壮性和用户体验。

来源:原始链接


推荐阅读
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 本文介绍了一个用于 Android 开发的 Logcat 日志管理工具类,该类提供了默认和自定义标签的日志记录方法。通过这种方式,开发者可以更方便地管理和调试应用程序中的日志输出。 ... [详细]
  • 在项目部署后,Node.js 进程可能会遇到不可预见的错误并崩溃。为了及时通知开发人员进行问题排查,我们可以利用 nodemailer 插件来发送邮件提醒。本文将详细介绍如何配置和使用 nodemailer 实现这一功能。 ... [详细]
  • 本文探讨了如何在 F# Interactive (FSI) 中通过 AddPrinter 和 AddPrintTransformer 方法自定义类型(尤其是集合类型)的输出格式,提供了详细的指南和示例代码。 ... [详细]
  • 本文探讨了在 SQL Server 中使用 JDBC 插入数据时遇到的问题。通过详细分析代码和数据库配置,提供了解决方案并解释了潜在的原因。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • 本文探讨了如何利用HTML5和JavaScript在浏览器中进行本地文件的读取和写入操作,并介绍了获取本地文件路径的方法。HTML5提供了一系列API,使得这些操作变得更加简便和安全。 ... [详细]
  • 本主题面向IT专业人士,介绍了Windows Server 2012 R2和Windows Server 2012中的组托管服务账户(gMSA),涵盖了其应用场景、功能改进、硬件和软件要求以及相关资源。 ... [详细]
  • 本文将详细探讨Linux pinctrl子系统的各个关键数据结构,帮助读者深入了解其内部机制。通过分析这些数据结构及其相互关系,我们将进一步理解pinctrl子系统的工作原理和设计思路。 ... [详细]
  • 本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
  • 本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ... [详细]
author-avatar
zeng-abee
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有