JavaScript中是否存在字符串.Empty,还是只是检查“”?
当前回答
以下正则表达式是另一种解决方案,可用于null、空或未定义的字符串。
(/(null|undefined|^$)/).test(null)
我添加了这个解决方案,因为它可以进一步扩展,以检查空值或某些值,如下所示。下面的正则表达式正在检查字符串是否可以是空的、空的、未定义的或只有整数。
(/(null|undefined|^$|^\d+$)/).test()
其他回答
最接近str.Empty(前提是str是String)的是:
if (!str.length) { ...
function tell()
{
var pass = document.getElementById('pasword').value;
var plen = pass.length;
// Now you can check if your string is empty as like
if(plen==0)
{
alert('empty');
}
else
{
alert('you entered something');
}
}
<input type='text' id='pasword' />
这也是检查字段是否为空的通用方法。
所有这些答案都很好。
但我不能确定变量是一个字符串,不只包含空格(这对我来说很重要),并且可以包含“0”(字符串)。
我的版本:
function empty(str){
return !str || !/[^\s]+/.test(str);
}
empty(null); // true
empty(0); // true
empty(7); // false
empty(""); // true
empty("0"); // false
empty(" "); // true
jsfiddle上的示例。
检查是否为空:
var str = "Hello World!";
if(str === ''){alert("THE string str is EMPTY");}
要检查它是否为string类型,请执行以下操作:
var str = "Hello World!";
if(typeof(str) === 'string'){alert("This is a String");}
不要假设您检查的变量是字符串。不要假设这个变量有一个长度,那么它就是一个字符串。
问题是:仔细思考你的应用程序必须做什么,可以接受什么。打造强健的体魄。
如果您的方法/函数只处理非空字符串,那么测试参数是否为非空字符串并且不要做一些“技巧”。
作为一个例子,如果你不小心遵循这里的一些建议,就会发生爆炸。
var getLastChar = function (str) {
if (str.length > 0)
return str.charAt(str.length - 1)
}
getLastChar('hello')
=> "o"
getLastChar([0,1,2,3])
=> TypeError: Object [object Array] has no method 'charAt'
所以,我会坚持
if (myVar === '')
...
推荐文章
- 在数组中获取所有选中的复选框
- 如何为Firebase构建云函数,以便从多个文件部署多个函数?
- 如何发送推送通知到web浏览器?
- AngularJS:工厂和服务?
- js:将一个组件包装成另一个组件
- 父ng-repeat从子ng-repeat的访问索引
- JSHint和jQuery: '$'没有定义
- 模仿JavaScript中的集合?
- 用JavaScript验证电话号码
- 如何在HTML5中改变视频的播放速度?
- 谷歌地图API v3:我可以setZoom后fitBounds?
- ES6/2015中的null安全属性访问(和条件赋值)
- 与push()相反;
- JS字符串“+”vs concat方法
- AngularJS使用ng-class切换类