Javascript 正则表达式空格问题

标签 javascript regex

我正在使用这个自制函数来验证文本字段,但出于某种原因,它不“接受”空格。我觉得这很奇怪,因为我的课上有\s...

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";
    }
}

你能告诉我为什么输入空格会使文本框变红吗?谢谢:)

最佳答案

我相信这是因为您试图将 \s 放在一个类中。在一个类中(例如,[])\s 是一个简单的严重转义的“s”。要么使用文字空间,要么使用 ^([...]|\s){

关于Javascript 正则表达式空格问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6853773/

相关文章:

javascript - 在我的 ASP CMS 中找不到此错误的原因

regex - 允许 .htaccess url 重定向中存在空格

java - 如何设置电话号码的正则表达式中允许的最小和最大位数

regex - 这个正则表达式有什么作用?

javascript - 使用 jQuery,如何禁用当前选项卡上的点击效果?

javascript - 哪一种效率更高? $el.append(newView.render().el);或 $el.append(newView.render().$el);

javascript - 仅当单击同一行中包含数据库对象的另一个 <div> 时显示包含数据库对象的 <div> - Django

php - Regex/DOMDocument - 匹配和替换不在链接中的文本

javascript - 电话号码的正则表达式为 10 位数字并允许 "-"(Javascript)

javascript - 正确的方法是什么/你可以链接两个 AngularJs 服务调用,然后使用返回的数据执行一个函数吗?