等效于 C # String.IsNullOrEmpty Javascript

我想尝试做字符串调用等效于 C # String.IsNullOrEmpty(string)在 javascript。我上网查了一下,以为可以打个简单的电话,但是找不到。

现在我使用 if(string === "" || string === null)语句来覆盖它,但是我更愿意使用预定义的方法(我不断得到一些因为某些原因而错过的实例)

什么是最接近的 javascript (或 jquery,如果然后有一个)调用将是相等的?

83085 次浏览

If you know that string is not numeric, this will work:

if (!string) {
.
.
.

If, for whatever reason, you wanted to test only null and empty, you could do:

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

Note: This will also catch undefined as @Raynos mentioned in the comments.

you can just do

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

This will check string for undefined, null, and empty string.

You're overthinking. Null and empty string are both falsey values in JavaScript.

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

Falsey:

  • false
  • null
  • undefined
  • The empty string ''
  • The number 0
  • The number NaN

To be clear, if(!theString){//...} where theString is an undeclared variable will throw an undefined error, not find it true. On the other hand if you have: if(!window.theString){//...} or var theString; if(!theString){//...} it will work as expected. In the case where a variable may not be declared (as opposed to being a property or simply not set), you need to use: if(typeof theString === 'undefined'){//...}

My preference is to create a prototype function that wraps it up for you.

Since the answer that is marked as correct contains a small error, here is my best try at coming up with a solution. I have two options, one that takes a string, the other takes a string or a number, since I assume many people are mixing strings and numbers in javascript.

Steps: -If the object is null it is a null or empty string. -If the type is not string (or number) it's string value is null or empty. NOTE: we might throw an exception here as well, depending on preferences. -If the trimmed string value has a length that is small than 1 it is null or empty.

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;
}

you can say it by logic

Let say you have a variable name a strVal, to check if is null or empty

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

You can create one Utility method which can be reused in many places such as:

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