Подтвердить что ты не робот

С# String.IsNullOrEmpty эквивалент Javascript

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

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

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

4b9b3361

Ответ 1

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

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

Falsey:

  • ложь
  • NULL
  • undefined
  • Пустая строка ''
  • Число 0
  • Число NaN

Ответ 2

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

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

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

Ответ 4

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

if (!string) {
  .
  .
  .

Ответ 5

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

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

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

Ответ 6

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

Мое предпочтение заключается в создании функции прототипа, которая завершает ее для вас.

Ответ 7

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

Шаги: -Если объект имеет значение 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;
}

Ответ 8

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

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

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

Ответ 9

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

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