C#写POST程序,有一个输入需要验证。只允许用户输入英文字母、数字或者中文。
其它特殊字符如逗号,星号,括号等等不允许输入。
内容来自http://novell.me
这里就需要用到C#正则表达式了。通过正则表达式来匹配文本。 内容来自http://novell.me
附上C#匹配中文+字母+数字的DEMO的源代码: CopyRight http://novell.me
内容来自http://novell.me
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using System.Text.RegularExpressions;
- namespace WindowsFormsApplication3
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- string input = textBox1.Text.Trim();
- if (chkInput(input))
- MessageBox.Show("true");
- else
- MessageBox.Show("false");
- }
- /// <summary>
- /// 如果输入的不是英文字母或者数字或者汉字,则返回false
- /// </summary>
- /// <returns></returns>
- private bool chkInput(string input)
- {
- Regex regex = new Regex(@"^[\u4E00-\u9FFFA-Za-z0-9]+$");
- return regex.IsMatch(input);
- }
- }
- }
如果有其它正则表达式需求呢?
下面附上其它几种常用的:
验证数字:^[0-9]*$
验证n位的数字:^\d{n}$ 本文引用自Novell迷网站
验证至少n位数字:^\d{n,}$
本文引用自Novell迷网站
验证m-n位的数字:^\d{m,n}$ 内容来自http://novell.me
验证零和非零开头的数字:^(0|[1-9][0-9]*)$
版权所有,未经Novell迷允许,不得转载!
验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 本文引用自Novell迷网站
验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ Novell迷网站內容,版权所有
验证非零的正整数:^\+?[1-9][0-9]*$ 内容来自http://novell.me
验证非零的负整数:^\-[1-9][0-9]*$ 版权所有,未经Novell迷允许,不得转载!
验证非负整数(正整数 + 0) ^\d+$ 版权所有,未经Novell迷允许,不得转载!
验证非正整数(负整数 + 0) ^((-\d+)|(0+))$
验证长度为3的字符:^.{3}$
验证由26个英文字母组成的字符串:^[A-Za-z]+$ Novell迷网站原创内容,未经允许,谢绝转载!
验证由26个大写英文字母组成的字符串:^[A-Z]+$ http://novell.me
验证由26个小写英文字母组成的字符串:^[a-z]+$
CopyRight http://novell.me
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 本文引用自http://novell.me
转载请注明出处!本文地址 http://novell.me/master-diary/2014-11-15/regular-express-csharp-example.html
(责任编辑:Novell迷)