如何使用JavaScript RegExp检查字段(文本框)是否为空或仅填充了空格(空格/回车/制表符等)?
如何使用JavaScript RegExp检查字段(文本框)是否为空或仅填充了空格(空格/回车/制表符等)?
if (myField.value.match(/\S/)) {
// field is not empty
}
// or
if (/\S/.test(myField.value)) {
// field is not empty
}
由于其他人似乎有一些不同的想法,所以需要解释:
\s
可以匹配空格、制表符或换行符。
\S
可以匹配除空格、制表符或换行符之外的任何字符。
如果您的字符串只有一个字符,且不是空格、制表符或换行符,则它不是空的。
因此,您只需要搜索一个字符:\S
/^\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!");
}
通过测试
/\s/ or /\S/
you will only be testing for one character . So , it will be better to test instead for :
/^\s+$/ or /^\S+$/
编辑:请注意,或不是代码的一部分。
编辑2:
匹配测试:
if(string.match(/^\s+$/)) {
alert("string is empty!");
}
而对于不匹配的测试:
if(!string.match(/^\S+$/)) {
alert("string is empty!");
}
你可以使用其中任何一个来达到相同的结果。