javascript中的正则表达式,用于包含特殊字符的至少一个字符

时间:2013-02-12 12:24:19

标签: javascript regex

我正在尝试验证文本框,包含任何字符,但不是空的。

这是我目前的代码

condition = '\\d{9}';
condition = new RegExp(condition);
    if (condition.test(element.val())) {
             //some code
        }

但是,我希望允许所有字符,但不能为空, 我已经尝试了。{50},/。 /s和[\ s \ S] ,但似乎都没有。

4 个答案:

答案 0 :(得分:2)

看起来你使用jQuery。尝试将值传递给$.trim以剪切所有非空格字符:

if ($.trim(element.val()).length > 0) {
    // ...
}

如果您不使用jQuery,可以使用String.trim()方法。检查MDN上的兼容性信息。

答案 1 :(得分:1)

如果它可以是任何字符,但不是空的,您只需测试输入当前值的长度即可。 E.g。

if (element.val().length > 0) {
    //some code
}

如果必须使用正则表达式,则以下内容将起作用:

condition = /.+/;

答案 2 :(得分:1)

您的正则表达式仅匹配9位数的字符串。对于至少一个字符,请使用.*[^\\s].*来确保至少一个非空格字符。

答案 3 :(得分:0)

不确定我是否理解这个问题:

condition = '^[\\s\\S]+$';
condition = new RegExp(condition);

if (condition.test(element.val())) {
    //some code
}

它将传递任何至少一个字符的字符串,并且对于空字符串失败。请注意,还会考虑空格,因此如果element.val()" ",则会返回true。如果您想在这种情况下返回false,则只需从上面的字符串中删除\\s