首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

奇怪的正则表达式,该怎么处理

2012-11-10 
奇怪的正则表达式C# codeif (Regex.IsMatch(id, @^\d{1,8}$, RegexOptions.IgnoreCase)){_id int.Pars

奇怪的正则表达式

C# code
if (Regex.IsMatch(id, @"^\d{1,8}$", RegexOptions.IgnoreCase))                        {                            _id = int.Parse(id);                            userPo = userBlo.Login(_id, pwd, out status);                        }                        else if (Regex.IsMatch(id, @"^((13)|(14)|(15)|(18))\d{9}$", RegexOptions.IgnoreCase))                        {                            userPo = userBlo.LoginByPhone(id , pwd, out status);                        }                        else if (Regex.IsMatch(id, @"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$", RegexOptions.IgnoreCase))                        {                            userPo = userBlo.LoginByEmail(  id  , pwd, out status);                        }


登录有三种方式,id号、手机号、邮箱
用正则匹配,验证结果很奇怪,用例:id=“181945?”

[解决办法]
id=“181945?”应该会匹配第一个if条件,以数字开头和结尾,1到8个数字
[解决办法]
第一个if,测试正常

热点排行