我正在尝试验证文本框,包含任何字符,但不是空的。
这是我目前的代码
condition = '\\d{9}';
condition = new RegExp(condition);
if (condition.test(element.val())) {
//some code
}
但是,我希望允许所有字符,但不能为空, 我已经尝试了。{50},/。 /s和[\ s \ S] ,但似乎都没有。
答案 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
。