验证输入是否含有汉字_C#做一个常见的验证码的小程序

通过这个小程序我们来熟悉一下简单的GDI绘制和理解一下常见的验证码绘制原理,欢迎大家批评指正。大概的思路就是在一个bitmap对象上随机产生一个由不同字体不同颜色不同字符组成的的验证码,然后在绘制一些干扰的线条和点。我们先看一下程序的运行效果,如图:

9f8be4d7d1939418aaf39522b055199c.png
e073ad65eaa7b6e446624d07b59ca61c.png

具体实现步骤如下:

打开visual studio 新建一个winform应用程序,在设计器中添加三个控件picturebox button textbox

  1. PictureBox 用来显示验证码的,并添加click事件,鼠标每点击一下更换一个验证码
  2. button 用来验证文本框中输入的验证码是否正确
  3. Textbox 用来输入验证码

在picturebox的click事件中生成验证码

绘制验证码

  1. 先创建一个bitmap对象和一个GDI对象

int bmpWidth = 300, bmpHeight = 60;

Bitmap bmp = new Bitmap(bmpWidth, bmpHeight);

Point pt = new Point(0, 20);

Graphics gp = Graphics.FromImage(bmp);//创建GDI对象

2.将bitmap对象赋值给picturebox的image

3.定义三个数组

font数组用来保存几个字体,可根据当前计算机的字体安装情况来自定义

color数组用来保存几种颜色

char数组 我这里是用来演示的,所以只选用了几个汉字,实际开发当中可以随意

string[] font = { "微软雅黑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
针对多个平时常用的规则表达式~! 例如(只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{n}$"。 只能输入至少n位的数字:"^\d{n,}$"。 只能输入m~n位的数字:。"^\d{m,n}$" 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。 只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。 只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。 只能输入非零的正整数:"^\+?[1-9][0-9]*$"。 只能输入非零的负整数:"^\-[1-9][]0-9"*$。 只能输入长度为3的字符:"^.{3}$"。 只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。 只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。 只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。 只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。 只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。 验证用户密码:"^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。 验证是否含有^%&'',;=?$\"等字符:"[^%&'',;=?$\x22]+"。 只能输入汉字:"^[\u4e00-\u9fa5]{0,}$" 验证Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。 验证InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。 验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正确格式为:"XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值