Javascript RegEx不起作用 [英] Javascript RegEx Not Working

查看:104
本文介绍了Javascript RegEx不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下javascript代码:

I have the following javascript code:

    function checkLegalYear() {
        var val = "02/2010"; 

        if (val != '') {
           var regEx = new RegExp("^(0[1-9]|1[0-2])/\d{4}$", "g");

            if (regEx.test(val)) {
               //do something
            }
            else {
               //do something
            }
        }
    }

但是,对于任何值,我的regEx测试总是返回false我通过了(02/2010)。我的代码中有什么问题吗?我已经在网上尝试了各种javascript编辑器上的代码,并且工作正常。

However, my regEx test always returns false for any value I pass (02/2010). Is there something wrong in my code? I've tried this code on various javascript editors online and it works fine.

推荐答案

因为你正在创建你的正则表达式一个字符串,你必须加倍你的反斜杠:

Because you're creating your regular expression from a string, you have to double-up your backslashes:

var regEx = new RegExp("^(0[1-9]|1[0-2])/\\d{4}$", "g");

这里没有理由不使用正则表达式语法:

There's really no reason here not to use regular expression syntax instead:

var regEx = /^(0[1-9]|1[0-2])\/\d{4}$/g;

edit —我还注意到有一个嵌入的/字符,如果你使用正则表达式语法,必须引用它。

edit — I also notice that there's an embedded "/" character, which has to be quoted if you use regex syntax.

这篇关于Javascript RegEx不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆