Javascript正则表达式空间问题

时间:2011-07-28 03:24:57

标签: javascript regex

我正在使用这个自制函数来验证文本字段,但由于某种原因,它不会“接受”空格。我发现这很奇怪,因为我已经上课了......

function validateText(controlid, minlength, maxlength, required) {
    var control = document.getElementById(controlid);
    if (!required && control.value.length == 0) control.style.backgroundColor = "White";
    else {
        var regex = new RegExp("^[a-zA-Z0-9\(\)\.\s_,:/-]{" + minlength + "," + maxlength + "}$", "g");
        if (!regex.test(control.value))
            control.style.backgroundColor = "#FFDDDD";
        else
            control.style.backgroundColor = "White";
    }
}

你能告诉我为什么进入一个空间会把文本框变成红色吗?谢谢:))

1 个答案:

答案 0 :(得分:3)

我相信这是因为你试图把\s放在课堂上。在课堂内(例如,[])\s很简单,是一个严重逃脱的“s”。要么使用文字空间,要么^([...]|\s){