搜索
查看
编辑修改
首页
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
记录hutool http通过代理模式proxy访问外面的链接_hutool http代理
2
动态规划全题型解析【基础、背包、股票、编辑距离、回文】_力扣题型分类
3
帮公司面试一个32岁的程序员,只因一个细节,被我一眼看穿是培训班出来的,工作经验也是假的..._小公司工作经验会被认可吗
4
通过GooglePlay地区切换实现下载所需的APP_模拟器谷歌 切换商店
5
外卖推荐|基于SSM+vue的外卖推荐系统的设计与实现(源码+数据库+文档)_推荐系统项目
6
基于python+django框架体育用品商城系统设计与实现
7
python网络爬虫教程笔记(1)_网络被爬虫监视怎么解决问题视频
8
场景法设计测试用例
9
activiti表单数据和流程数据分库存储_activiti分库分表
10
Python基于Django连接Sqlserver数据库_django通过pyodbc调用sqlserver数据库
当前位置:
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
4---
采样
器
(
Sampler
)详细
解析
_
sd
采样
方法
...
采样
器
1、那个默默干活的家伙(
Sampler
)2、就像每个Controller都有自己的特点一样,每个
采样
器
也都有自己的...
赞
踩
article
新手学习
Vivado
XDMA
(1) -
配置
详细分析_x
dma
读写 bar
地址
空间
和
dma
...
PCIe 在
Vivado
XDMA
中的
配置
分析。_x
dma
读写 bar
地址
空间
和
dma
内 存
地址
空间
x
dma
...
赞
踩
article
探索
Live
2D
Widget
模型库
:生动的
2D
动画
新世界
...
探索
Live
2D
Widget
模型库
:生动的
2D
动画
新世界
项目地址:https://gitcode.com/xiaz...
赞
踩
article
Pytorch从0实现
Transformer
_
pytorch
transformer
从零开始
...
文章目录摘要一、构造数据1.1 句子长度1.2 生成句子1.3 生成字典1.4 得到向量化的句子该阶段总程序二、位置编码...
赞
踩
article
live2d
动态
壁纸
android,
Live2DViewerEX
动态
壁纸
...
Live2DViewerEX
动态
壁纸
APP是Steam上的应用程序的移动版本,你需要在Steam上购买它或观看广告以获得...
赞
踩
article
Oracle
SQL
语句5大分类:
DDL
、
DML
、DQL、DCL、TCL_
oracle
ddl...
Oracle
SQL
语句5大分类:
DDL
、
DML
、DQL、DCL、TCL_
oracle
ddl
oracle
ddl ...
赞
踩
article
Python
学习笔记——
聚类
算法
:K-
means
、凝聚层次
聚类
、基于密度
聚类
_
hierarchy
.l...
在单链接
聚类
中,两个
聚类
之间的链接距离是两个
聚类
中最接近的两个点的距离。在方阵中,行和列都代表城市,对角线上的元素是城市...
赞
踩
article
多目标优化算法
测试
基准
函数
(
CEC2009
)以及评价标准_
测试
函数
uf10
...
UF1UF2UF3UF4UF5UF6UF7在打UF问题的时候,本人已经尽力不打错,但是难免可能有些小错误,建议还是看一下...
赞
踩
article
如何
安装
使用
秋叶
comfyui
整合
包
,
手把手
详细教程(文末附
安装
包
)_秋葉
comfyui
百度云...
B 站的秋叶大佬在 1 月份就已经发布了 comfy ui 的
整合
包
。用户将压缩
包
下载后
,
能够一键启动 comfy ui...
赞
踩
article
自动
驾驶
主流
芯片
及平台
架构
(四)
华为
、高通、英伟达高算力平台_
华为
汽车
控制系统
架构
...
华为
的CCA+VehicleStack
架构
从长远的设计理念来看,目标是实现软件跨车型、跨车企的升级和复用,以及硬件的可拓...
赞
踩
article
Vivado
综合
生成
BRAM
及与
LUTRAM
的区别_
vivado
lutram
...
使用
vivado
中的
BRAM
可以通过例化Block Memory Generator这一ip并进行相关的设定。另外可以通...
赞
踩
article
解决问题:
only
integer
scalar
arrays
can be
converted
t...
解决numpy中的shuffle问题_np.concatenate
only
integer
scalar
arrays
...
赞
踩
article
Python
实现
人脸识别
_
python
借助
百度
ai
人脸识别
身份认证...
百度
AI平台提供了很多的API接口供开发者快速的调用运用在项目中本文写的是使用
百度
AI的在线接口SDK模块(b
ai
du-...
赞
踩
article
【项目实战】
Kafka
生产者
写入
分区
的
策略
_
kafka
生产者
分区
写入
策略
...
生产者
写入
分区
的
策略
主要有以下几种:1. **轮询
分区
策略
**:
生产者
可以使用轮询
策略
将消息依次
写入
每个
分区
,实现负载均...
赞
踩
article
【心
电
信号
ECG】基于
Butterworth
带通
滤波器
实现心
电
信号
分析
去噪、
提取
R
周期
、
峰值
及
信号
的...
心电图 (ECG) 作为一种重要的生理
信号
,在临床诊断和疾病监测方面发挥着至关重要的作用。然而,心
电
信号
容易受到各种噪声...
赞
踩
article
推荐
五款
ssh
连接
工具
_
ssh
工具
推荐
...
值得
推荐
的五款
ssh
链接
工具
,总有一款是你喜欢的_
ssh
工具
推荐
ssh
工具
推荐
...
赞
踩
article
使用
决策树
的方法对
鸢尾
花
卉Iris
数据
集进行
分类
_使用
sklearn
中自带的
iris
鸢尾
花
数据
集,...
如果是浮点数,那么min_samples_leaf就是一个百分比,同上,celi(min_samples_leaf * ...
赞
踩
article
自动
文摘评测
方法
:
Rouge
-
1
、
Rouge
-
2
、
Rouge
-L、
Rouge
-S...
关于ROUGEROUGE(Recall-Oriented Understudy for Gisting Evaluati...
赞
踩
article
【大
数据
】
OLTP
和
OLAP
,
数据
库
和
数据
仓库_传统
数据
库
在海量
数据
查询
下(
olap
场景
)效率极低。...
在接触大
数据
之前我们基本都是使用mysql
数据
库
,这种定位为关系型的
数据
库
主要是为了业务需要而建表,而在大
数据
中大多是以...
赞
踩
article
python
学习-114-自动文本
摘要
Rouge
评价体系实现(很简单)_
rouge
cat
摘要
生成
...
前言:最近在研究短文本的自动
摘要
生成
,在试验测试方面国内外研究学者普遍使用
Rouge
评价体系如
Rouge
-1、Roug...
赞
踩
相关标签
fpga
fpga开发
pytorch
transformer
深度学习
live2d动态壁纸android
oracle
sql
数据库
算法
python
学习
聚类
kmeans
stable diffusion
midjourney
AI绘画
人工智能
AI作画
自动驾驶
架构
华为
Vivado
FPGA