javascript处理双引号作为空字符串

时间:2015-07-30 04:04:21

标签: javascript null double-quotes

尝试修改以下函数以处理其他请求。

当数据类型是对象并且在其中包含引号时,

函数不起作用,需要将其视为空

 //try to handle double quotes as empty
 // "\"\""        true, empty string
 // ''''        true, empty string

// test results
//---------------
// []        true, empty array
// {}        true, empty object
// null      true
// undefined true
// ""        true, empty string
// ''        true, empty string
// null      true
// true      false, boolean
// false     false, boolean
// Date      false
// function  false


function empty ( val ) {

  if  (typeof val === undefined)
    return true;

  if (typeof (val) == 'function' || typeof (val) == 'number' || typeof (val) == 'boolean' || Object.prototype.toString.call(val) === '[object Date]')
    return false;

  if (val == null || val == '' || val.length === 0) // null or empty string or 0 length array
    return true;

  if (typeof (val) == "object") {
    // empty object
    var r = true;
    for (var f in val) {
        r = false;
    }
    return r;
  }

  return false;
}

1 个答案:

答案 0 :(得分:0)

/ ^( “” | '')。$ /测试(VAL)

if (/^(""|'')$/.test(val) || val == null || val == '' || val.length === 0)
    return true;

您可以通过在正则表达式中检查空字符串来缩短条件:

if (/^(""|''|)$/.test(val) || val == null)
    return true;