我是靠谱客的博主 整齐钢笔,最近开发中收集的这篇文章主要介绍[小结] js判空&数据格式判断,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、判空

1.字符串String格式判空:

  • 直接判断是否与空字符串(’’)相等
var string1 = '';
var string2 = 'abc';
string1 === ''; //返回 true
string2 === ''; //返回 false
  • String.trim() 方法
var string1 = "";
var string2 = "abc";
//trim() 函数返回去掉开头和结尾空格后的字符串。
string1.trim() == ""; //返回 true
string2.trim() == ""; //返回 false

2.对象 Object 格式判空

  • 使用ES6的 Object.keys() 方法
// 是ES6的新方法, 返回值也是对象中属性名组成的数组
var data = {};
var arr = Object.keys(data);
// 其 length 的值为 0 ,说明为空
alert(arr.length === 0); //true
  • json 对象转化为 json 字符串,再判断该字符串是否为"{}"
var data = {};
var b = JSON.stringify(data);
// json 字符串 b 与“{}”相等 ,说明原 json 对象为空
alert(b === "{}"); //true

参考:https://www.cnblogs.com/jpfss/p/9105119.html

3.json 对象属性判空

let jsonObj = {
  number: '001',
  name: 'Jack',
  sex: 'M',
  address: '',
  hobby: null
}
if (jsonObj.number) { // true
  console.log(jsonObj.number);
}
if (jsonObj.address) { // false
  console.log(jsonObj.address);
}
if (jsonObj.hobby) { // false
  console.log(jsonObj.hobby);
}

二、判断是否为特定格式

  1. 判断数据格式为 —— NaN 格式 :isNaN(x) 方法
var data1 = 0/0;
var data2 = 1;
console.log(isNaN(data1)); //打印 true 
// 返回 true:NaN、对象(除包含单个数值的数组)、undefined、不能用Number()方法转为数值型的字符串
console.log(isNaN(data2)); //打印 false
// 返回 false:数值、null、布尔值、能用Number()方法转为数值型的字符串、包含单个数值的数组如[1]
  1. 判断输入的字符串(input的内容)是否为纯数字
    (1)Number(x) :number数据类型强制转换,根据返回值判断
  • 如果是纯数字字符串,直接转换为数字
    如果字符串中有非数字的内容,转换为NaN
    如果字符串为空或者全是空格,则转换为0
    如果字符串为布尔型(true / false),则转换为 1 / 0
var string1 = "123"; //Number(string1) 返回 123
var string2 = ""; //Number(string2) 返回 0
var string3 = "a1b2c3"; //Number(string3) 返回 NaN
var string4 = true; //Number(string4) 返回 1
var string5 = false; //Number(string5) 返回 0
//判断其返回值不为 0 且不为 NaN ,说明其为纯数字?~不不不,不对
//if(Number(string) !== 0 && isNaN(string) === false) {
//  alert("纯数字? 不对。。。")
//}

(2)如果是纯数字的话可以用正则表达式 ^[0-9]*$ 来验证, 如果要包含小数点这种情况的话可以用 ^(-?d+)(.d+)?$ 来验证。

var t = document.getElementsByClassName('val')[0];
t.onchange = function(){
    var val = this.value;
    if(!isNumber(val)) alert('不是有效的数字');
    else alert('是有效的数字')
};
function isNumber(value) { //验证是否为数字(包含小数)
    var patrn = /^(-)?d+(.d+)?$/;
    if (patrn.exec(value) == null || value == "") {
        return false
    } else {
        return true
    }
}
  1. 判断数据格式为 —— number
    (1)自定义方法 isNumber():
//使用 typeof 来检查一个值是否为一个数字。
const isNumber = val => typeof val === 'number';

验证使用:

isNumber('1'); // false
isNumber(1); // true
  1. 判断格式—— Array
    · 建议使用 isArray (ES5方法)来专门处理数组判断。

    参考:
    慕课网—https://www.imooc.com/article/69870
    CSDN—https://www.cnblogs.com/lingdu87/p/9152806.html

    let arr = []
    arr instanceof Array // true
    arr instanceof Object // true
    Array.isArray(arr) // true
    

更新中…若有错误,还请各位大佬指出~~~

最后

以上就是整齐钢笔为你收集整理的[小结] js判空&数据格式判断的全部内容,希望文章能够帮你解决[小结] js判空&数据格式判断所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部