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

一、判空

1.字符串String格式判空:

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

2.对象 Object 格式判空

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

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

3.json 对象属性判空

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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) 方法
复制代码
1
2
3
4
5
6
7
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
复制代码
1
2
3
4
5
6
7
8
9
10
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+)?$ 来验证。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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():
复制代码
1
2
3
//使用 typeof 来检查一个值是否为一个数字。 const isNumber = val => typeof val === 'number';

验证使用:

复制代码
1
2
3
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

    复制代码
    1
    2
    3
    4
    5
    let arr = [] arr instanceof Array // true arr instanceof Object // true Array.isArray(arr) // true

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

最后

以上就是整齐钢笔最近收集整理的关于[小结] js判空&数据格式判断的全部内容,更多相关[小结]内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部