Строка C#.IsNullOrEmpty JavaScript-эквивалентом


Я хочу попробовать сделать строковый вызов, эквивалентный C# String.IsNullOrEmpty(string) в javascript. Я посмотрел в интернете, предполагая, что есть простой вызов, но я не мог найти его.

сейчас я использую if(string === "" || string === null) заявление, чтобы покрыть его, но я бы предпочел использовать предопределенный метод (я продолжаю получать некоторые экземпляры, которые по какой-то причине проскальзывают)

каков ближайший javascript(или jquery, если тогда есть один) вызов, который будет равен?

9 69

9 ответов:

ты слишком много думаешь. Null и пустая строка являются ложными значениями в JavaScript.

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

Falsey:

  • ложные
  • null
  • неопределено
  • пустая строка "
  • число 0
  • число NaN

Если по какой-то причине вы хотели проверить только null и empty, вы могли бы сделать:

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

Примечание: это также будет ловить undefined как @Raynos, упомянутый в комментариях.

Если вы знаете, что string не числовой, это будет работать:

if (!string) {
  .
  .
  .

вы можете просто сделать

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

это проверит string для undefined, null и пустую строку.

чтобы было понятно, if(!theString){//...} где theString-это необъявленная переменная, которая выдает неопределенную ошибку, а не находит ее истинной. С другой стороны, если у вас есть: if(!window.theString){//...} или var theString; if(!theString){//...} он будет работать, как ожидалось. В случае, когда переменная не может быть объявлена (в отличие от отеля или просто не ставили), нужно использовать: if(typeof theString === 'undefined'){//...}

Я предпочитаю создать прототип функции, которая обертывает его для вас.

поскольку ответ, отмеченный как правильный, содержит небольшую ошибку, вот моя лучшая попытка придумать решение. У меня есть два варианта, один из которых принимает строку, другой принимает строку или число, так как я предполагаю, что многие люди смешивают строки и числа в javascript.

шагов: -Если объект null, то это null или пустая строка. -Если тип не является строкой (или числом), это строковое значение равно null или пусто. Примечание: мы могли бы бросить исключение здесь также, в зависимости от предпочтения. -Если обрезанное строковое значение имеет длину, которая меньше 1, оно равно null или пусто.

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

вы можете сказать, что это по логике

Допустим, у вас есть имя переменной strVal, чтобы проверить, является ли оно пустым или пустым

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

вы можете создать служебный метод, который может быть использован во многих местах, таких как:

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