判断录入是否满足 4000 字母数字下划线和首字符为字母的要求(正则表达式、自定义方法)
2013-07-22 09:52
639 查看
两种方法判断,第一种方法是直接使用字符串判断:
private bool CheckUserName(string s){
string str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789";
if (str.Substring(0, 52).IndexOf(s[0]) == -1)
{
//首字符不是字母
return false;
}
else
{
foreach (char c in s)
{
if (str.IndexOf(c.ToString()) == -1)
{
return false;
}
}
}
return true;
}
第二种方法是使用正则表达式判断:
private bool CheckStr(string s)
{
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(@"^[a-zA-Z][a-zA-Z0-9|_]{2,19}$");
if (reg.IsMatch(s))
{
return true;
}
else
{
return false;
}
}
在asp.net里,使用正则表达式还可以用验证控件:
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="*" ControlToValidate="TextBox1" ValidationExpression="^[a-zA-Z][a-zA-Z0-9|_]{2,19}$"></asp:RegularExpressionValidator>
下面解释一下我的正则表达式:^[a-zA-Z][a-zA-Z0-9|_]{2,19}$
^:匹配字符串的开头,在多行检索中,匹配一行的开头
$:匹配字符串的结尾,在多行检索中,匹配一行的结尾
|:选择,匹配的是该符号左边的子表达式或者右边的子表达式
以上三行载自《JavaScript权威指南》第四版P180 - P181
{n, m}:匹配前一项至少n次,但是不能超过m次
{n, }:匹配前一项n次,或更多次
{n}:匹配前一项恰好n次
以上三行载自《JavaScript权威指南》第四版P177
相关文章推荐
- 判断录入是否满足字母数字下划线和首字符为字母的要求
- 判断录入是否满足字母数字下划线和首字符为字母的要求 .
- 字符串要求字母、数字、特殊字符,至少有两项。正则表达式不好写,可以用这个方法实现。
- @V@ java代码笔记2010-06-12:java控制台输入各类型类实现;以及判断输入字符串里面是否有数字的两种方法:方法1:转换成字符数组;方法2:正则表达式。
- 判断字符串是否包含除字母、数字、下划线以外的字符
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字
- 正则表达式之判断用户注册信息是否为汉字、字母和数字
- 正则表达式的几种字符判断(包括数字,字母组合等)
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字 分类: Android JAVA 2015-06-07 21:08 31人阅读 评论(0) 收藏
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字
- C# 正则表达式判断是否是数字、是否含有中文、是否是数字字母组合
- C#正则表达式基础 [0-9a-zA-Z] 验证一个字符是否是数字或者字母
- js 正则表达式 要求密码的格式为6-12位,只能是字母、数字和下划线
- 正则表达式的几种字符判断(包括数字,字母组合等)
- JS正则表达式是否有字母数字特殊字符+strpos用法
- C#正则表达式基础 | 或 [0-9]|[a-z]|[A-Z] 验证一个字符是否是数字或者字母
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字
- 判断是否英文字母或数字的C#正则表达式
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字
- C# 正则表达式判断是否是数字、是否含有中文、是否是数字字母组合