如何使用javascript RegExp检查字段(文本框)是空的还是仅填充空格(空格/输入/制表符等)?
答案 0 :(得分:12)
if (myField.value.match(/\S/)) {
// field is not empty
}
// or
if (/\S/.test(myField.value)) {
// field is not empty
}
解释,因为其他人似乎有一些 crazy 不同的想法:
\s
将匹配空格,制表符或新行
\S
将匹配除空格,制表符或新行之外的任何内容
如果你的字符串有一个不是空格,制表符或新行的单个字符,那么它就不是空的
因此,您只需搜索一个字符:\S
答案 1 :(得分:5)
/^\s*$/.test(string)
可以像这样使用:
var empty_string = /^\s*$/; //create RegExp object for re-use
if (empty_string.test(myFormField.value))
{
alert("Please be a bit more elaborate!");
}
答案 2 :(得分:1)
答案 3 :(得分:0)
通过测试
/\s/ or /\S/
你只会测试一个角色。因此,最好测试一下:
/^\s+$/ or /^\S+$/
编辑:请注意或不是代码的一部分。
EDIT2:
匹配测试:
if(string.match(/^\s+$/)) {
alert("string is empty!");
}
不匹配的测试:
if(!string.match(/^\S+$/)) {
alert("string is empty!");
}
你可以使用其中任何一个来获得相同的结果。