正则表达式不但可以在后台使用,还可以在前台调用。使用正则表达式在前台进行数据的校验、提取、替换非常方便。在C#中使用正则表达式和js中的使用有点不同,下面先为大家讲授1下二者的不同,接着再为大家详细讲授1下正则表达式在js中的使用。
1.在js中正则表达式写在1对//中,是1个特定的类型,而C#中的正则表达式是1个字符串;
2. js中的3个函数是text()、exec()、replace(),C#中的3个函数是IsMatch()、Match()、Repalce();
上面两点是二者的主要不同的地方,其他地方的使用几近1样。
1、匹配
使用的主要函数是test()。js代码以下所示。
onload = function () {
document.getElementById("btn").onclick = function () {
var txt = document.getElementById("txtEmail").value;
var reg = /^w+@w+(.w+)+$/;
alert(reg.test(txt));
};
};
2、提取
var reg = /d+/g;
// var str = "我要把数字12345提取出来";
// var dNum = reg.exec(str);
// alert(dNum);
// 提取组使用括号括起(string.match方法)
// 多个匹配,如果有多个数字
// 1、在
正则表达式后加1个g,表示全局
// 2、循环匹配,就循环提取,没履行1次就提取1次
// var strs = "2015年4月21日";
// alert(reg.exec(strs));
// alert(reg.exec(strs));
// alert(reg.exec(strs));
// alert(reg.exec(strs));
3、替换
var str = "2015年4月10日";
// 在C#中援用前面匹配的内容使用$num
// str = str.replace(/(d+)年(d+)月(d+)日/, "$1-$2-$3");
// alert(str);
在上面
正则表达式的编写进程中,有1点要特别注意:加上^ 、$开始结束标记表示完全匹配,如果不加则表示部份匹配。