C#String.IsNullOrEmpty Javascript等效

我想尝试在JavaScript中进行string调用相当于C# String.IsNullOrEmpty(string) 。 我在网上看起来有一个简单的电话,但我找不到一个。

现在,我正在使用if(string === "" || string === null)语句来覆盖它,但我宁愿使用预定义的方法(由于某种原因,我总是收到一些实例)

什么是最接近的JavaScript(或jquery,如果有一个)调用将是平等的?

你过度了 空string和空string都是JavaScript中的错误值。

 if(!theString) { alert("the string is null or empty"); } 

Falsey:

  • 空值
  • 未定义
  • 空string“'
  • 数字0
  • 那个号码

如果不pipe什么原因,你只想testingnullempty ,你可以这样做:

 function isNullOrEmpty( s ) { return ( s == null || s === "" ); } 

注意:这个也会在评论中提到的未定义为@Raynos。

 if (!string) { // is emtpy } 

用jquery-out-of-the-boxtesting空string的最佳方法是什么?

如果你知道string不是数字,这将工作:

 if (!string) { . . . 

你可以做

 if(!string) { //... } 

这将检查未定义的string ,null和空string。

要清楚, if(!theString){//...}其中theString是一个未声明的variables将抛出一个未定义的错误,不会发现它是真的。 另一方面,如果你有: if(!window.theString){//...}var theString; if(!theString){//...} var theString; if(!theString){//...}它将按预期工作。 如果variables不能被声明(而不是一个属性或者简单地不设置),你需要使用: if(typeof theString === 'undefined'){//...}

我的首选是创build一个原型函数,为您包装它。

由于被标记为正确的答案包含一个小错误,所以这是我最好的尝试提出一个解决scheme。 我有两个选项,一个接受一个string,另一个接受一个string或一个数字,因为我认为很多人在JavaScript中混合string和数字。

步骤: – 如果对象为null,则为空或空string。 – 如果types不是string(或数字),则string值为空或空。 注意:我们也可以在这里抛出exception,这取决于偏好。 – 如果修剪的string值的长度小于1,则为空或空。

 var stringIsNullOrEmpty = function(theString) { return theString == null || typeof theString != "string" || theString.trim().length < 1; } var stringableIsNullOrEmpty = function(theString) { if(theString == null) return true; var type = typeof theString; if(type != "string" && type != "number") return true; return theString.toString().trim().length < 1; } 

你可以用逻辑来说

假设你有一个variables名strVal,来检查是否为空或空

 if (typeof (strVal) == 'string' && strVal.length > 0) { // is has a value and it is not null :) } else { //it is null or empty :( } 

您可以创build一个可以在许多地方重用的Utility方法,例如:

  function isNullOrEmpty(str){ var returnValue = false; if ( !str || str == null || str === 'null' || str === '' || str === '{}' || str === 'undefined' || str.length === 0 ) { returnValue = true; } return returnValue; }