搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
花生_TL007
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
[晓理紫]每日论文分享(有中文摘要,源码或项目地址)--大模型、扩散模型、视觉语言导航_retrieval-augmented score distillation for text-to
2
MoveIt+ Gazebo 联合仿真环境搭建(巨简单版)_moveit! gazebo
3
【Python】发送邮件,超详细看图敲码(附完整代码)一一CSDN21天学习挑战赛_python发送邮件代码
4
java实现Linux服务器下载文件到windows指定目录_java 实现从linux 拷贝文件到window
5
ComfyUI工作流自学笔记 三阶放大、背景更换、换脸工作流学习_改变背景comfyui 工作流
6
数据结构——迷宫问题_数据结构迷宫问题
7
ComfyUI 实力插件/模型 分享_comfyui 模型
8
保姆级教程:最新下载及安装vscode(含常用插件)_vscode中文插件下载
9
Spring Boot 从2.1.x 升级到3.0.x的艰辛历程_springboot2升级到3
10
Android获取签名文件sha1值
当前位置:
article
> 正文
C#中验证控件的使用方法总结一
作者:花生_TL007 | 2024-06-11 03:15:27
赞
踩
usercontrol 验证结果如何在mainview中使用时提示
用户在控件中输入数据,往往需要对其进行有效性难,这样可以及时检查用户提交的数据是否合法,同时可以减少服务器的负担。
A ASP.NET
对验证控件的支持
ASP.NET
为开发人员提供了一整套完整的服务器控件来验证用户输入的信息是否有效。其中最主要的验证控件如下:
1
、
RequiredFieldValidator
:验证一个必填字段,如果这个字段没填,那么,将不能提交信息。
2
、
CompareValidator
:比较验证。比较两个字段值是否相等,如密码和确认密码两个字段是否相等;比较一个字段与一个具体的值。
3
、
RangeValidator
:范围验证。验证一个字段是否在某个范围中,如成绩字段要是
0~100
范围中。
4
、
RegularExpressionValidator
:正则表达式验证。它根据正则表达式来验证用户输入字段的格式是否合法,如电子邮件、身份证、电话号码等。
5
、
CustomValidator
:在运行定制的客户端
JavaScript
或
VBScript
函数时,可以使用这个控件。
使用此类控件的步骤如下:
(1)
打开
VS2008
,新建一
ASP.NET WEB
应用程序,并命名为
ValidatorTest
。
(2)
切换页面到“设计”视图,添加一
4*3
的列表
(3)
将表中拖放三个
Label
,
3
个
TextBox
,
1
个
Button
控件,为
3
个
Label
和
Button
控件添加
Text
属性。依次为“用户名:”、“密码:”、“年龄”、“提交”
(4)
分别为
3
个
TextBox
控件设置
ID
属性,其中,用户名为
UserNameText
;密码为
PwdText;
年龄为
AgeText
(5)
在“工具箱”中的验证栏找到
RequiredFiledValidator
控件,拖放至用户名文本框右边表格中
(6)
选定该控件,将
ErrorMessage
设置为“
*
用户名为必填项”,同时
ControlToValidate
属性设置为
UserNameText
RequiredFiledValidator
控件还有一个比较重要的属性
display
,它有三个可取值
Dynamic(
动态显示错误信息,其在页面上的位置只有在验证错误发生时才给出
)
,
None(
验证错误信息,但不显示
)
,
Static
(不管验证错误何时发生,页面都会留出供显示错误信息的)。
B RegularExpressionValidator
正则表达式验证控件
RegularExpressionValidator
正则表达式验证控件的功能非常强大,可以自己容易构造验证方式,我们先来看看标准代码:
<
ASP:RegularExpressionValidator id=
"Validator_ID"
RunAt=
"Server"
ControlToValidate=
"
要验证控件名
"
ValidationExpression=
"
正则表达式
"
errorMessage=
"
错误信息
"
display=
"Static"
>
现在来看看它的构造:在
ValidationExpression
中,不同的字符表示不同的含义:
"."
表示任意字符;
"*"
表示和其他表达式一起,表示容易组合;
"[A-Z]"
表示任意大写字母;
"\d"
表示容易一个数字;注意,在以上表达式中,引号不包括在内;
常见正则表达式主要有:
这是我曾经按照网上的资料自己做的一个验证控件的例子,看到
switch
,每个
case
中的绿字,即为可验证的类型,暗棕色的即为其正则表达式。
/*----------------------------------------------------------------
// Copyright (C) ** Project
// 版权所有。
// 文件名:RegularExpressionInput
// 文件功能描述:对种常见输入进行验证
// 创建标识:
//
// 修改标识:
// 修改描述:
----------------------------------------------------------------*/
.....
namespace
XEP.UI
{
public
partial
class
RegularExpressionInput : System.Web.UI.UserControl
{
/// <summary>
///
验证类型枚举
/// </summary>
public
enum
validation
{
整数,
正整数,
负整数,
数字,
电话或手机,
正数,
负数,
浮点数,
正浮点数,
负浮点数,
浮点数,
非负浮点数,
非正浮点数,
邮件,
颜色,
url,
中文,
ACSII字符,
邮编,
手机,
IP地址,
非空,
图片,
压缩文件,
日期,
QQ号码,
国内电话,
用户名,
字母,
大写字母,
小写字母,
身份证
}
private
validation val;
/// <summary>
///
验证类型
/// </summary>
public
validation Validation
{
get {
return
val; }
set { val = value; }
}
private
string
errorMsg;
/// <summary>
///
出错提示
/// </summary>
public
string
ErrorMsg
{
get {
return
errorMsg; }
set { errorMsg = value; }
}
/// <summary>
///
输入文本
/// </summary>
public
string
Text
{
get {
return
this
.TextBox1.Text; }
set {
this
.TextBox1.Text = value; }
}
private
System.Drawing.Color msgColor;
/// <summary>
///
错误提示颜色
/// </summary>
public
System.Drawing.Color MsgColor
{
get {
return
msgColor; }
set { msgColor = value; }
}
protected
string
color;
protected
string
pattern;
protected
void
Page_Load(
object
sender, EventArgs e)
{
switch
(Convert.ToInt32(val))
{
case
0:
//整数
pattern =
"/^-?[1-9]\\d*$/"
;
break
;
case
1:
//正整数
pattern =
"/^[1-9]\\d*$/"
;
break
;
case
2:
//负整数
pattern =
"/^-[1-9]\\d*$/"
;
break
;
case
3:
//数字
pattern =
"/^([+-]?)\\d*\\.?\\d+$/"
;
break
;
case
4:
//电话或手机
pattern =
"/d*\\-?\\d+$/"
;
break
;
case
5:
//正数(正整数+ 0)
pattern =
"/^[1-9]\\d*|0$/"
;
break
;
case
6:
//负数(负整数+ 0)
pattern =
"/^-[1-9]\\d*|0$/"
;
break
;
case
7:
//浮点数
pattern =
"/^([+-]?)\\d*\\.\\d+$/"
;
break
;
case
8:
//正浮点数
pattern =
"/^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$/"
;
break
;
case
9:
//负浮点数
pattern =
"/^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$/"
;
break
;
case
10:
//浮点数
pattern =
"/^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$/"
;
break
;
case
11:
//非负浮点数(正浮点数+ 0)
pattern =
"/^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$/"
;
break
;
case
12:
//非正浮点数(负浮点数+ 0)
pattern =
"/^(-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*))|0?.0+|0$/"
;
break
;
case
13:
//邮件
pattern =
"/^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$/"
;
break
;
case
14:
//颜色
pattern =
"/^[a-fA-F0-9]{6}$/"
;
break
;
case
15:
//url(http格式的)
pattern =
"/^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-.\\/?%&=]*)?$/"
;
break
;
case
16:
//仅中文
pattern =
"/^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$/"
;
break
;
case
17:
//仅ACSII字符
pattern =
"/^[\\x00-\\xFF]+$/"
;
break
;
case
18:
//邮编
pattern =
"/^\\d{6}$/"
;
break
;
case
19:
//手机(13号段和号段)
pattern =
"/^(13|15)[0-9]{9}$/"
;
break
;
case
20:
//ip地址
pattern =
"/^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$/"
;
break
;
case
21:
//非空
pattern =
"/^\\S+$/"
;
break
;
case
22:
//图片
pattern =
"/(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$/"
;
break
;
case
23:
//压缩文件
pattern =
"/(.*)\\.(rar|zip|7zip|tgz)$/"
;
break
;
case
24:
//日期
pattern =
"/^\\d{4}(\\-|\\/|\\.)\\d{1,2}\\1\\d{1,2}$/"
;
break
;
case
25:
//QQ号码
pattern =
"/^[1-9]*[1-9][0-9]*$/"
;
break
;
case
26:
//国内电话
pattern =
"/(\\d{3}-|\\d{4}-)?(\\d{8}|\\d{7})/"
;
break
;
case
27:
//用来用户注册。匹配由数字、个英文字母或者下划线组成的字符串
pattern =
"/^(?!\\d)[a-zA-Z0-9\\u4e00-\\u9fa5]+$/"
;
break
;
case
28:
//字母
pattern =
"/^[A-Za-z]+$/"
;
break
;
case
29:
//大写字母
pattern =
"/^[A-Z]+$/"
;
break
;
case
30:
//小写字母
pattern =
"/^[a-z]+$/"
;
break
;
case
31:
//身份证
pattern =
"/^[1-9]([0-9]{14}|[0-9]{17})$/"
;
break
;
default
:
pattern =
string
.Empty;
break
;
}
}
}
}
上面的程序只是为了表示验证某种类型,其正则表达式的形式,本身没有什么可运行性。在“正则表达式编辑器中”分别选择标准表达式,输入下面的验证表达式即可。
未完,因多于8万字符,分两节
本文转自 gaochaojs 51CTO博客,原文链接:http://blog.51cto.com/jncumter/184783,如需转载请自行联系原作者
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/花生_TL007/article/detail/701471
推荐阅读
article
分布式关系数据库(
OLAP
、
OLTP
)的介绍和比较_
dynamodb
是
olap
还
是
oltp
...
OLAP
、
OLTP
的介绍和比较2012年12月08日 00:06:15 阅读数:95016 ...
赞
踩
article
基坑
监测识别
摄像机
...
基坑
监测识别
摄像机
的应用能够有效监控
基坑
施工的过程,提高施工的安全性和效率。同时,它也能减少施工事故的发生,降低施工风险...
赞
踩
article
crossover
22
双
系统
兼容
mac
/win
系统
工具_
crossover
22
注册码
...
CrossOver初次安装运行后,
系统
就会记录下使用日期,这个日期决定着试用到期日。软件到期后,有没有其他方法获得Cro...
赞
踩
article
Python
开发
环境
搭建指导_
开发
环境
中有哪些
版本
注意事项
,
怎么操作...
本文主要介绍
Python
开发
环境
的搭建。主要包括如下几部分内容:(1)
Python
软件的安装。注意
版本
的选择和安装过程中...
赞
踩
article
【
安全
】简单解析
统一
身份
认证
:介绍、原理和
实现
方法_
统一
认证
流程
...
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7深知大多数程序员,想要提升技能,往往是自己摸索成...
赞
踩
article
图书
管理系统
数据库
设计_
数据库
图书
管理系统
设计
csdn
...
图书
管理系统
数据库
设计_
数据库
图书
管理系统
设计
csdn
数据库
图书
管理系统
设计
csdn
目录 一、...
赞
踩
article
前端
项目
常用
函数
_
app
开发中一般有哪些
前端
公共
函数
...
前端
项目
常用
函数
抄自某大佬之手,借鉴学习一下主要有一些
前端
项目
常用
到的重要
函数
,例如 防抖, 节流, 数组扁平化,数组扁...
赞
踩
article
uni
app
app
调用
支付
宝
支付
功能_
uni
app
支付
宝
支付
...
【代码】
uni
app
app
调用
支付
宝
支付
功能。_
uni
app
支付
宝
支付
uni
app
支付
宝
支付
...
赞
踩
article
springBoot
配置文件
设置
mongodb
连接
密码
加密
_
springboot
集成
mongodb
...
springBoot
配置文件
设置
mongodb
连接
密码
加密
方案实践pom文件引入依赖application.yml文件中...
赞
踩
article
Stable
Diffusion
模型
分享:
majicMIX
sombre
麦橘唯美_majicmi...
非常推荐的一个唯美风格的大
模型
,由国人“Merjic”发布,下载量颇高。这个
模型
的风格特点是长于展现光影在皮肤上的质感和...
赞
踩
article
软件
测试
/
测试
管理
|构建
协作
默契:
人员
分工与
协作
_
测试
人员
跨系统
测试
协同...
通过精细的角色划分和全面的能力摸底,
测试
管理
人员
可以构建一个高效
协作
的团队。团队成员在清晰的角色框架下,能够更好地发挥各...
赞
踩
article
CentOS7
关闭
占用
指定
端口
的进程_
centos7
关闭
端口
占用
...
文章目录前言一、发现新神器 fuser关闭
占用
80
端口
的进程关闭
占用
8080
端口
的进程二、netstat1.Linux2...
赞
踩
article
014
基于
深度
学习
的脑电癫痫
自动检测
系统-2018(300引用)_心
电信号
窗口
...
CNN模型通常采用从过程到细化的方法,其中底层层包含少量的内核,而高层层包含大量的内核。但是这个结构包含了大量的可
学习
参...
赞
踩
article
使用
Python
的
smtplib
和
email
模块
实现
邮件
收发功能_
python
邮件
收发...
在
Python
中,
smtplib
和
email
模块
是处理电子
邮件
的强大工具。本文将通过多个案例代码,详细介绍如何使用这两个...
赞
踩
article
MySQL条件查询
SELECT
的执行顺序(DQL语句)_
mysql
select
from
whe...
DQL语句条件查询
SELECT
的执行顺序_
mysql
select
from
where
mysql
select
fr...
赞
踩
article
【
大
数据
】最新
大
数据
学习
路线
(完整详细版,含整套教程)
_
大
数据
数据
创建
与
实现
...
大
数据
学习
路线
java(Java se,javaweb)Linux(shell,高并发架构,lucene,solr)Ha...
赞
踩
article
4---
采样
器
(
Sampler
)详细
解析
_
sd
采样
方法
...
采样
器
1、那个默默干活的家伙(
Sampler
)2、就像每个Controller都有自己的特点一样,每个
采样
器
也都有自己的...
赞
踩
article
图书
管理
数据库系统
设计
_
图书
管理系统
中
,
图书
表书名字段设置如下:
bookname
varchar
(2...
第1关:数据库表
设计
-
图书
表#请在此添加实现代码########## Begin ###########在libra...
赞
踩
article
【重点文章】将
Java
程序
打包
成
exe
文件
,无
Java
环境也
可以
运行(解决各种
疑难杂症
)_
java
打...
10.安装完后就大功告成了,这个就是你的
Java
程序
(安装包的封面和你的
程序
封面是没有关系的,我这里显示一样,是因为我设...
赞
踩
article
关于
鸿蒙
系统
JS
UI
框架
源码
的分析_
鸿蒙
源码
分析...
本文讲解了我对Android开发现状的一些看法,也许有些人会觉得我的观点不对,但我认为没有绝对的对与错,一切交给时间去证...
赞
踩
相关标签
人工智能
macos
经验分享
学习
python
路线
入门
教程
安全
数据库
网络
js
typescript
javascript
前端
开发语言
spring boot
加密解密
mongodb
stable diffusion
AI作画
AIGC
单元测试
功能测试