【问题标题】:Javascript Regular Expression - Illegal Characters Using Allowed ListJavascript 正则表达式 - 使用允许列表的非法字符
【发布时间】:2012-01-03 11:46:49
【问题描述】:

我正在尝试找到一种方法来验证字符串,仅使用允许的字符列表。

var valid = validate('This is my string!', 'abcdefghijklmnopqrstuvwxyz');

function validate(value, allowed_chars){
            var reg = new RegExp('[' + allowed_chars + ']');
            var valid = reg.test(value);
            return valid;
}

在这种情况下,我希望函数返回 false,因为它在字符串中有一个感叹号,并且没有放入允许的字符中。有什么想法吗?

非常感谢您的帮助,谢谢!

我不想使用循环来检查每个字符。

【问题讨论】:

    标签: javascript regex validation character


    【解决方案1】:

    您的正则表达式仅匹配单个字符。添加量词。

    var reg = new RegExp('[' + allowed_chars + ']+');
    

    '+' 表示'一次或多次出现这种情况'

    您还想测试此模式是否与整个字符串匹配。为行首和行尾添加标记。

    var reg = new RegExp('^[' + allowed_chars + ']+$');
    

    您可能还想在正则表达式中添加大写字母和空格。使用online regex tester 来调试您的正则表达式。

    【讨论】:

    • 完美!这是开始和结束时缺少的标记!
    【解决方案2】:

    您应该在您的正则表达式中添加^$

      var reg = new RegExp('^[' + allowed_chars + ']+$');
    

    【讨论】:

      【解决方案3】:

      你使用 element.match(); 这个函数允许你匹配正则表达式

      【讨论】:

        猜你喜欢
        • 2012-08-02
        • 2017-03-20
        • 1970-01-01
        • 1970-01-01
        • 2017-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多