在.net(C#)中 和 js 中关于正则表达式的使用


在C#中

验证一个 E-Mail 格式
Regex EmailRex = new Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", RegexOptions.IgnoreCase);

if (!EmailRex.IsMatch(UserEmail))
{
      
return "邮件格式不正确!";
}

验证一个手机号码

Regex MobileReg = new Regex(@"((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]{1}\d{8}", RegexOptions.IgnoreCase | RegexOptions.Compiled);

if (!MobileReg.IsMatch(UserMobile))
{
    
return "手机号码格式不正确";
}


在 JavaScript 中

验证一个 E-Mail 格式
var pattern =/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+$/;  
if(!pattern.exec(c))
{
    
return false;
}
return true;

验证一个手机号码格式
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;   

if (!patrn.exec(s))
{
    
return false 
}
else

    
return true  
}

在.net中正则表达式一般是以@开始,用@开始的目的是为了忽略后面的转义字符,如我们定义变量的时候  string s="\\" 和 string s =@"\" 都是表示的一个为"\"  其作用是把字符串中的转义字符忽略掉;而在js中是以"/^"开始,以"$/"结束的,这是.net和js在使用正则表达式中规则的不同. 在.net中,后面的定将正则表达式编译为程序集。这会产生更快的执行速度,但会增加启动时间。
posted @ 2007-08-24 10:07  海底的鱼  阅读(1132)  评论(0)    收藏  举报