C#判断字符串是否只有数字和字母组成(Regex.IsMatch)
2015-06-12 15:52
609 查看
目的:判断字符串是否只有数字和字母组成,防止出现“乱码”,以及判断字符串长度;
主要功能函数:System.Text.RegularExpressions.Regex.IsMatch(strMessage, pattern)
strMessage:要判断的字符串;
pattern:判断的条件;
正则表达式用途:1.测试字符串内的模式。2.替换文本。3.基于模式匹配从字符串中提取子字符串。
正则表达式语法:https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx
下面分析我目前用的到一些简单语法:
string pattern = @"^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$";
理解:
1. ^[a-zA-Z0-9]:表示是以大小写或者数字开头;
2. /d{2}:表示两个数字
3. {a-zA-Z0-9}:表示两个数字后面加一个大小写或者数字
4. (-\d{3}){2}:表示连个重复的 -加上三个数字格式,如:-333-444,-123-456
5. [A-Za-z0-9]$:表示以大小写或者数字结尾;
正确形式: 1111-111-1111;
整个字符串的每个字符都必须为大小写或者数字;
主要功能函数:System.Text.RegularExpressions.Regex.IsMatch(strMessage, pattern)
strMessage:要判断的字符串;
pattern:判断的条件;
正则表达式用途:1.测试字符串内的模式。2.替换文本。3.基于模式匹配从字符串中提取子字符串。
正则表达式语法:https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx
/// <summary> /// 判断是否为数字或字母 /// </summary> /// <param name="strMessage">要判断的字符串</param> /// <param name="iMinLong">最小长度</param> /// <param name="iMaxLong">最大长度</param> /// <returns>结果</returns> public bool fnIsDigitOrLetter(string strMessage, int iMinLong, int iMaxLong) { bool bResult = false; //开头匹配一个字母或数字+匹配两个十进制数字+匹配一个字母或数字+匹配两个相同格式的的(-加数字)+已字母或数字结尾 //如:1111-111-1119 //string pattern = @"^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$"; //string pattern = @"^[a-zA-Z0-9]\d{2}$"; //开头以字母或数字,然后后面加两个数字字符 string pattern = @"^[a-zA-Z0-9]*$"; //匹配所有字符都在字母和数字之间 //string pattern = @"^[a-z0-9]*$"; //匹配所有字符都在小写字母和数字之间 //string pattern = @"^[A-Z][0-9]*$"; //以大写字母开头,后面的都是数字 //string pattern = @"^\d{3}-\d{2}$";//匹配 333-22 格式,三个数字加-加两个数字 if (strMessage.Length >= iMinLong && strMessage.Length <= iMaxLong)//判断字符串长度 { if (System.Text.RegularExpressions.Regex.IsMatch(strMessage, pattern)) { bResult = true; } else { bResult = false; } } return bResult; }
下面分析我目前用的到一些简单语法:
string pattern = @"^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$";
理解:
1. ^[a-zA-Z0-9]:表示是以大小写或者数字开头;
2. /d{2}:表示两个数字
3. {a-zA-Z0-9}:表示两个数字后面加一个大小写或者数字
4. (-\d{3}){2}:表示连个重复的 -加上三个数字格式,如:-333-444,-123-456
5. [A-Za-z0-9]$:表示以大小写或者数字结尾;
正确形式: 1111-111-1111;
string pattern = @"^[a-zA-Z0-9]*$"; //匹配所有字符都在字母和数字之间理解:
整个字符串的每个字符都必须为大小写或者数字;
相关文章推荐
- C# List和String互相转换
- C# 引用类型与值类型的区别
- C# 数据封装和解析
- C#使用Region对图形区域构造和填充的方法
- C# 添加敏感词
- C# 获取Get请求返回
- 《C#程序设计》第五次作业:开源项目“网页正文提取”的案例分析
- C#调用存储过程
- c# 特性/属性(Attribute) 以及使用反射查看自定义特性
- 命名实参和可选实参(C# 编程指南)
- c# 判断当前时间是否在 工作日时间段内
- C#反射发出System.Reflection.Emit学习
- C#中GraphicsPath的Flatten方法用法实例
- C#实现图形路径变换的方法
- C#实现图形位置组合转换的方法
- C#中Shear的用法实例
- 用C#写的读写CSV文件
- C#形状原点变换的方法
- C# 在dataset内删除数据
- C#实现字体旋转的方法