我的工作是写游戏卡密直充的接口.所以经常会与正则打交道.
因为有些时候我得得到页面返回的错误信息,比如我得到的消息里经常会有:
<script language="javascript">alert('您输入的验证码错误!');</script>
夹杂在我获得的页面数据里面,单独为它写个GetString()//获得截取后的字符串[这方法我前些时的帖子里有]未免有些麻烦,所以就产生了下面的方法.
只需要传获得的页面数据进去就行了,如果有页面返回Alert的错误消息就可以用这个方法获得了.
大家看到如果有什么问题,请留言哦!谢谢
/// <summary>
/// 得到页面的错误提示信息,不支持language 和 type 在一起的
/// </summary>
/// <param name="data">查找的数据</param>
/// <returns></returns>
public string GetErrorStr(string data)
{
string pattern = @"(?<=<)script\s?((language=([""]?|[']?)javascript([""]?|[']?)){1}|(type=([""]?|[']?)text/javascript([""]?|[']?)){1}){1}[^>]*>alert\(([""]?|[']?)(?<value>[^""']+)";
Regex r = new Regex(pattern, RegexOptions.IgnoreCase);
MatchCollection mc = r.Matches(data);
if (mc.Count > 0)
{
return mc[0].Groups["value"].Value;
}
return string.Empty;
}
因为有些时候我得得到页面返回的错误信息,比如我得到的消息里经常会有:
<script language="javascript">alert('您输入的验证码错误!');</script>
夹杂在我获得的页面数据里面,单独为它写个GetString()//获得截取后的字符串[这方法我前些时的帖子里有]未免有些麻烦,所以就产生了下面的方法.
只需要传获得的页面数据进去就行了,如果有页面返回Alert的错误消息就可以用这个方法获得了.
大家看到如果有什么问题,请留言哦!谢谢
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)