js中如何判断字符串为空字符串

 我来答
沉思狠美
2018-04-06 · TA获得超过1万个赞
知道小有建树答主
回答量:143
采纳率:96%
帮助的人:57.2万
展开全部

下面就是有关判断为空的简写方法。 
代码如下 


if (variable1 !== null || variable1 !== undefined || variable1 !== '') { 
var variable2 = variable1; 


上面的意思是说如果variable1不是一个空对象,或者未定义,或者不等于空字符串,那么声明一个variable2变量,将variable1赋给variable2。也就是说如果variable1存在那么就将variable1的值赋给variable2,若不存在则为空字符串。如下面的简写代码。 
简写代码: 
代码如下 


var variable2 = variable1 || ''; 


以下是不正确的方法: 
代码如下 


var exp = null; 
if (exp == null) 

alert("is null"); 


exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样。注意:要同时判断 null 和 undefined 时可使用本法。 
代码如下 


var exp = null; 
if (!exp) 

alert("is null"); 


如果 exp 为 undefined,或数字零,或 false,也会得到与 null 相同的结果,虽然 null 和二者不一样。注意:要同时判断 null、undefined、数字零、false 时可使用本法。 
代码如下 


var exp = null; 
if (typeof exp == "null") 

alert("is null"); 


为了向下兼容,exp 为 null 时,typeof null 总返回 object,所以不能这样判断。 
代码如下 


var exp = null; 
if (isNull(exp)) 

alert("is null"); 


判断字符串是否为空 
s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ fnrtv]。 很多情况下,都是用length来直接判断字符串是否为空,如下: 
代码如下 


var strings = ''; 
if (string.length == 0) 

alert('不能为空'); 


但如果用户输入的是空格,制表符,换页符呢?这样的话,也是不为空的,但是这样的数据就不是我们想要的吧。 
其实可以用正则表达式来把这些“空”的符号去掉来判断的 
代码如下 


var strings = ' '; 
if (strings.replace(/(^s*)|(s*$)/g, "").length ==0) 

alert('不能为空'); 

Baby_原來
2017-07-18 · TA获得超过3402个赞
知道大有可为答主
回答量:1535
采纳率:94%
帮助的人:504万
展开全部

1、length来直接判断字符串是否为空,如下:

var strings = '';
if (string.length == 0)
{
    alert('不能为空');
}

但如果用户输入的是空格,制表符,换页符,也是不为空的,但是这样的数据也不是想要的。


2、正则匹配判断

\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]

可以用正则表达式来把这些“空”的符号去掉来再判断

var strings = ' ';
if (strings.replace(/(^\s*)|(\s*$)/g, "").length ==0)
{
    alert('不能为空');
}



注:\s 小写的s是,匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
屁屁丶宝
2017-06-25
知道答主
回答量:13
采纳率:100%
帮助的人:5.9万
展开全部

可以用正则来判断,假设待检测的字符串为str

var reg = /^ *$/;  //这里^和*之间有一个空格
console.log(reg.test(str))

这里正则的意思是:以空格开头,且以空格结尾,空格出现任意次(0-n);

如果结果是true,说明待检测字符串为空字符串。

如果结果是false,说明带检测字符串不是空字符串。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DoubleDimos
2017-07-09 · TA获得超过858个赞
知道小有建树答主
回答量:1053
采纳率:75%
帮助的人:605万
展开全部
str.trim().length > 0
成立就是非空字符串,不成立就是.
这个函数存在兼容性问题。ie有部分版本不支持
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-25
展开全部
if(str==""){
alert("str是空字符串");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式