Я хочу попытаться выполнить строковый вызов, эквивалентный C # String.IsNullOrEmpty(string)
в javascript. Я искал в Интернете, предполагая, что нужно было сделать простой звонок, но не смог его найти.
На данный момент я использую if(string === "" || string === null)
оператор, чтобы покрыть это, но я бы предпочел использовать предопределенный метод (я продолжаю получать некоторые экземпляры, которые по какой-то причине проскальзывают)
Каков ближайший вызов javascript (или jquery, если он есть), который был бы равен?
javascript
jquery
Кубок Стэнли Фил
источник
источник
Ответы:
Вы слишком много думаете. В JavaScript и нулевая, и пустая строка являются ложными значениями.
if(!theString) { alert("the string is null or empty"); }
Фальси:
источник
Если по какой-либо причине вы хотите только протестировать
null
иempty
вы можете:function isNullOrEmpty( s ) { return ( s == null || s === "" ); }
Примечание: это также будет отлавливать undefined, поскольку @Raynos упоминается в комментариях.
источник
return (s == null || s === "")
s == null
ловит обаnull
иundefined
с тех порnull == undefined
if (!string) { // is emtpy }
Как лучше всего проверить пустую строку с помощью jquery-out-of-the-box?
источник
Если вы знаете, что
string
это не числовое значение, это сработает:if (!string) { . . .
источник
string
в действительности не является строкой , но номер ноль, тоstring
будет falsey. Не будет проблем, если мы знаем, чтоstring
это либо фактическая строка, либо ноль.ты можешь просто сделать
if(!string) { //... }
Это проверит
string
наличие неопределенной, нулевой и пустой строки.источник
Для ясности:
if(!theString){//...}
если theString - необъявленная переменная, это вызовет неопределенную ошибку, а не истину. С другой стороны, если у вас есть:if(!window.theString){//...}
илиvar theString; if(!theString){//...}
он будет работать должным образом. В случае, когда переменная не может быть объявлена (вместо того, чтобы быть свойством или просто не задана), вам необходимо использовать:if(typeof theString === 'undefined'){//...}
Я предпочитаю создать функцию-прототип, которая завершит ее за вас.
источник
Поскольку ответ, помеченный как правильный, содержит небольшую ошибку, вот моя лучшая попытка найти решение. У меня есть два варианта: один принимает строку, другой - строку или число, поскольку я предполагаю, что многие люди смешивают строки и числа в javascript.
Шаги: -Если объект равен нулю, это пустая или пустая строка. -Если тип не является строкой (или числом), то строковое значение равно нулю или пусто. ПРИМЕЧАНИЕ: мы также можем выбросить исключение, в зависимости от предпочтений. -Если обрезанное строковое значение имеет длину меньше 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; }
источник
вы можете сказать это по логике
Допустим, у вас есть имя переменной 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; }
источник