正则表达式在javascript中的一般用法:
eg: 前端验证Email的格式是否正确
function ValidEmail()
{
if(RequiredName())
{
if( $.trim($("#Email").val())=="")
{
return true;
}
else
{
var email = document.getElementById("Email");
var emailreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if(!emailreg.test(email.value))
{
alert('提示\n请输入有效的E_mail!');
$("#Email").focus();
return false;
}
else
{
return true;
}
}
}
}
说明:验证Email格式是否正确,可以为空。
接下来 <asp:Button ID="btn_Save" CssClass="button" runat="server" Text="保存" OnClick="btn_Save_Click"
OnClientClick="return ValidEmail();"
即可。
正则表达式在C#中一般用法:
using System.Text.RegularExpressions;
1.检查数据格式是否错误。
string TestRegex = @"^[-+]?\d+(\.\d+)?$";
if (!Regex.IsMatch(txtLongitude.Text.Trim(), TestRegex ) || !Regex.IsMatch(txtLatitude.Text.Trim(), TestRegex ))
{
ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('经纬度格式错误!');</script>");
}
2.找出匹配的数据,并取得
eg:
//构造解析表格数据的正则表达式
Regex regex = new Regex(@"<tr[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*<td>(.*?)</td>[^<]*</tr>|tr[^<]*<td>(?<breed>.*?)</td>[^<]*\s.*?[^<]*<td>(?<makings>.*?)</td>[^<]*\s.*?[^<]*<td>(?<format>.*?)</td>[^<]*\s.*?[^<]*<td>(?<steelFactory>.*?)</td>[^<]*\s.*?[^<]*<td>(?<address>.*?)</td>[^<]*\s.*?[^<]*<td>(?<price>.*?)</td>[^<]*\s.*?[^<]*<td>(?<upToDate>.*?)</td>[^<]*\s.*?[^<]*<td><span[^>]*>(?<riseOrTransfer>.*?)</span></td>[^<]*\s.*?[^<]*<*.*?>[^<]*\s.*?[^<]*<td>*.*?></td>[^<]*\s.*?[^<]*<*.*?>\s[^<]*</tr>",
RegexOptions.Compiled | RegexOptions.IgnoreCase);
MatchCollection mc = regex.Matches(tb.Text);//tb.Text为存放的是从html页面读取的数据
string[] array = new string[9];//构建数组,用于保存数据
foreach (Match m in mc)
{
array[1] = m.Groups["breed"].Value;//匹配的值
array[2] = m.Groups["makings"].Value;
array[3] = m.Groups["format"].Value;
array[4] = m.Groups["steelFactory"].Value;
......
}
接下来就可以将匹配的值存起。