美文网首页
Javascript检查一个存在的、非空的字符串

Javascript检查一个存在的、非空的字符串

作者: 诺亚的雎鸠 | 来源:发表于2016-12-26 20:42 被阅读0次

验证一个变量已经定义,并且是一个不为空的字符串


最简单的解决办法是:

if(typeof unknownVariable === 'string' 
&& unknownVariable.length > 0)
...

这种做法吧字符串测试和长度测试组合起来,确保了变量是一个长度大于0的字符串,但这只能检查变量是字符串字面量,当检测变量是一个字符串对象

let str = new String('test');

那么strtypeofobject,所以我们需要重新考虑。


  • 首先,确保变量不是未定义:
if(typeof unknownVariable != 'undefined')
...
  • 然后我们需要确保变量不为null,因为null变量的typeofobject
if(typeof unknownVariable != 'undefined' 
&& unknownVariable )
...
  • 非空判断使用length:
if((typeof unknownVariable != 'undefined' 
&& unknownVariable ) 
&& unknownVariable.length > 0)
...

但是Array对象也存在length,我们需要确保测试变量不是一个数组,这需要借助一个对象方法valueOf(),这个方法所有JavaScript对象都可以使用。
如果变量是一个String对象,valueOf()返回字符串字面值,如果变量已经是一个字符串字面值,则valueOf()方法返回的是string字符串(valueOf()方法临时将字面值包装到一个String对象中),所以测试方法是:

if(((typeof unknownVariable != 'undefined' 
&& unknownVariable) 
&& unknownVariable.length > 0) 
&& typeof unknownVariable.valueOf() === 'string')
...

所以,判断一个非空已经存在的字符串变量,严格的判断写法为:

if(((typeof unknownVariable != 'undefined' 
&& unknownVariable) 
&& unknownVariable.length > 0) 
&& typeof unknownVariable.valueOf() == 'string')
...

相关文章

  • Javascript检查一个存在的、非空的字符串

    验证一个变量已经定义,并且是一个不为空的字符串 最简单的解决办法是: 这种做法吧字符串测试和长度测试组合起来,确保...

  • js 中的真和假

    真的:true 非零数字 ,非空的字符串,非空对象假的:false 数字零,空字符串,空对象,undefined

  • Django中的{%if%} 怎么用?

    {% if %} 标签检查(evaluate)一个变量,如果这个变量为真(即,变量存在,非空,不是布尔值假),系统...

  • Django中的{%if%} 怎么用?

    {% if %} 标签检查(evaluate)一个变量,如果这个变量为真(即,变量存在,非空,不是布尔值假),系统...

  • 每日一题之单词拆分II

    题目140:单词拆分II 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空...

  • Swift3学习笔记:字符串和字符(Strings and Ch

    字符串和字符(Strings and Characters) 1. 字符串的非空、前缀、后缀判断 非空判断Stri...

  • js的if判断条件

    JS中IF判断条件: 字符串参与判断时:非空即为真判断字符串为空的方法 数字参与if判断:非0非NAN即为真var...

  • 八月六号

    empty()函数 empty()函数是用来测试变量是否已经配置,判断值为否为空。若变量已存在、非空字符串或者非零...

  • 关于Scanner规范输入,以及对输入String的处理

    Scanner中的方法 next() 方法返回字符串读取非空的字符串,从第一个非空字符(空格、回车、null都不...

  • 关于javascript的真与假

    //真: true 非零数字 非空数字 非空对象 //假: false 数字零 空字符串 空对象(null) un...

网友评论

      本文标题:Javascript检查一个存在的、非空的字符串

      本文链接:https://www.haomeiwen.com/subject/witsvttx.html