如何在JavaScript Regex中允许Forward Slash(/)

时间:2014-04-29 07:00:01

标签: javascript asp.net regex telerik-grid

在我的RadGrid中,我使用Filter for DATE Column。日期格式是这样的16/12/1990。过滤器文本框应仅允许数字和/。如何编写JavaScript函数来做到这一点?

function CharacterCheckDate(text, e)
{
    var regx, flg;
    regx = /[^0-9/'' ]/
    flg = regx.test(text.value);
    if (flg)
    {
        var val = text.value;
        val = val.substr(0, (val.length) - 1)
        text.value = val;
    }
} 

1 个答案:

答案 0 :(得分:4)

您不必担心字符类/thanks Robin for pointing that out)。例如,

console.log(/[^\d/]/.test("/"));
# false
console.log(/[^\d/]/.test("a"));
# true

如果你真的有疑问,只需用反斜杠来逃避它,比如

regx = /[^0-9\/'' ]/

此外,您不需要指定'两次,一次就足够了。

regx = /[^0-9\/' ]/

您可以使用\d字符类,而不是明确使用数字

regx = /[^\d\/' ]/

所以,你可以编写你的RegEx,就像这样

regx = /[^\d/' ]/