js中使用正则表达式

正则表达式不但可以在后台使用,还可以在前台调用。使用正则表达式在前台进行数据的校验、提取、替换非常方便。在C#中使用正则表达式和js中的使用有点不同,下面先为大家讲解一下两者的不同,接着再为大家详细讲解一下正则表达式在js中的使用。

1.在js中正则表达式写在一对//中,是一个特定的类型,而C#中的正则表达式是一个字符串;
2. js中的三个函数是text()、exec()、replace(),C#中的三个函数是IsMatch()、Match()、Repalce();

上面两点是两者的主要不同之处,其他地方的使用几乎一样。

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、在正则表达式后加一个g,表示全局
        //  2、循环匹配,就循环提取,没执行一次就提取一次
        // 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);

在上面正则表达式的编写过程中,有一点要特别注意:加上^ 、$开始结束标记表示完全匹配,如果不加则表示部分匹配。



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。