Ответ 1
Ты слишком задумываешься. Нулевая и пустая строка являются значениями false в JavaScript.
if(!theString) {
alert("the string is null or empty");
}
Falsey:
- ложь
- NULL
- undefined
- Пустая строка ''
- Число 0
- Число NaN
Я хочу попытаться выполнить строковый вызов, эквивалентный С# String.IsNullOrEmpty(string)
в javascript. Я смотрел онлайн, полагая, что есть простой призыв сделать, но я не смог его найти.
В настоящее время я использую оператор if(string === "" || string === null)
для его покрытия, но я бы предпочел использовать предопределенный метод (я продолжаю получать некоторые экземпляры, которые скользят по какой-либо причине)
Каков ближайший javascript (или jquery, если он есть), который будет равен?
Ты слишком задумываешься. Нулевая и пустая строка являются значениями false в JavaScript.
if(!theString) {
alert("the string is null or empty");
}
Falsey:
Если по какой-либо причине вы хотели протестировать только null
и empty
, вы могли бы сделать:
function isNullOrEmpty( s )
{
return ( s == null || s === "" );
}
Примечание. Это также будет ловить undefined как @Raynos, упомянутое в комментариях.
if (!string) {
// is emtpy
}
Каков наилучший способ проверить пустую строку с jquery-out-of-the-box?
Если вы знаете, что string
не является числовым, это будет работать:
if (!string) {
.
.
.
вы можете просто сделать
if(!string)
{
//...
}
Это проверит string
для undefined, null и пустой строки.
Чтобы быть ясным, if(!theString){//...}
, где theString - незадекларированная переменная, выдаст ошибку undefined, а не найдет ее true. С другой стороны, если у вас есть: if(!window.theString){//...}
или var theString; if(!theString){//...}
, он будет работать, как ожидалось. В случае, когда переменная не может быть объявлена (в отличие от свойства или просто не установлена), вам необходимо использовать: if(typeof theString === 'undefined'){//...}
Мое предпочтение заключается в создании функции прототипа, которая завершает ее для вас.
Поскольку ответ, помеченный как правильный, содержит небольшую ошибку, вот моя лучшая попытка придумать решение. У меня есть два варианта: один, который берет строку, другой принимает строку или число, так как я предполагаю, что многие люди смешивают строки и числа в 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;
}
вы можете сказать это по логике
Скажем, у вас есть имя переменной strVal, чтобы проверить, является ли оно пустым или пустым
if (typeof (strVal) == 'string' && strVal.length > 0)
{
// is has a value and it is not null :)
}
else
{
//it is null or empty :(
}
Вы можете создать один метод Utility, который можно использовать повторно во многих местах, например:
function isNullOrEmpty(str){
var returnValue = false;
if ( !str
|| str == null
|| str === 'null'
|| str === ''
|| str === '{}'
|| str === 'undefined'
|| str.length === 0 ) {
returnValue = true;
}
return returnValue;
}