Строка C#.IsNullOrEmpty JavaScript-эквивалентом
Я хочу попробовать сделать строковый вызов, эквивалентный C# String.IsNullOrEmpty(string)
в javascript. Я посмотрел в интернете, предполагая, что есть простой вызов, но я не мог найти его.
сейчас я использую if(string === "" || string === null)
заявление, чтобы покрыть его, но я бы предпочел использовать предопределенный метод (я продолжаю получать некоторые экземпляры, которые по какой-то причине проскальзывают)
каков ближайший javascript(или jquery, если тогда есть один) вызов, который будет равен?
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, упомянутый в комментариях.
if (!string) { // is emtpy }
каков наилучший способ проверить пустую строку с помощью jquery-out-of-the-box?
вы можете просто сделать
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; }