判空,空字符串,空对象,判null,判undefined等

博客主要介绍了Vue中的判空方法,包括判断input输入内容是否为空格,通过将字符串以空格拆分再拼接,根据长度判空;还提及判断空对象、undefined、null等情况,此外还提到去除空格和换行符的方法。

判断input输入内容是否为空格

问题:由于字符串内容为空的时候,会出输入空格通过的情况,因此在vue通过数组长度的方式进行判空;

逻辑:先把msg以空格拆分成数组,然后拼接起来,判断字符串的长度,如果长度为0,就是没有输入内容,如下:

if(msg.split(" ").join("").length === 0){}

判断空对象

if(JSON.stringify(msg) === '{}'){}
if(Object.keys(msg).length === 0){}

undefined判断

if(typeof(msg) == 'undefined'){}

null判断

if(!msg && typeof(msg) !== 'undefined' && msg != 0) {}

去除空格的方法:

msg.trim(); //去掉首尾空格
msg.replace(" ",""); // 去除所有空格,包括首尾、中间
msg.replaceAll(" ", ""); // 去掉所有空格,包括首尾、中间
msg.replaceAll(" +","");  // 去掉所有空格,包括首尾、中间
msg.replaceAll("\\s*", ""); // 可以替换大部分空白字符, 不限于空格 ;

去除换行符:

str.replace(/\ +/g, ""); // 去除 空格
str.replace(/[\r\n]/g, ""); // 去除 换行符

如若对您有所帮助,点个一键三连 ~Thanks♪(・ω・)ノ (✪ω✪) ᕦ(・ㅂ・)ᕤ!!!

你说得非常对!在 JavaScript 中,`null`、`undefined` 和字符串 `&#39;&#39;` 都可能是“无效输入”,我们需要统一处理这些情况。当前的逻辑只排除了字符串 `&#39; &#39;`,但没有考虑 `null` 和 `undefined`,这会导致类似 `[null, 2]` 或 `[undefined, 3]` 的情况也能通过验证。 我们来进一步优化函数,使其能正确判断并拒绝所有无效值(包括 `null`、`undefined` 和字符串),除非两个值都为 `null`、`undefined` 或字符串时才返回 `true`。 ### 修改后的代码如下: ```javascript const isLeftLessThanRight = (arr) => { // 如果不是数组或为数组,返回 true if (!Array.isArray(arr) || arr.length === 0) return true; // 如果数组长度不为2,返回 false if (arr.length !== 2) return false; const [left, right] = arr; // 判断是否nullundefined字符串 const isEmptyOrInvalid = (val) => { return val === null || val === undefined || val === &#39;&#39;; }; // 如果两个值都是 null/undefined/&#39;&#39;,返回 true if (isEmptyOrInvalid(left) && isEmptyOrInvalid(right)) return true; // 如果 left 或 right 是 null/undefined/&#39;&#39;,则返回 false if (isEmptyOrInvalid(left) || isEmptyOrInvalid(right)) return false; // 检查是否是数字或字符串形式的数字 const isValidNumberInput = (val) => { return typeof val === &#39;number&#39; || (typeof val === &#39;string&#39; && !isNaN(Number(val)) && val.trim() !== &#39;&#39;); }; // 如果 left 或 right 不是有效的数字或字符串数字,返回 false if (!isValidNumberInput(left) || !isValidNumberInput(right)) return false; // 统一转换为数字后比较 return Number(left) < Number(right); }; ``` ### 修改说明: 1. **新增 `isEmptyOrInvalid` 函数**:用于判断是否为 `null`、`undefined` 或字符串。 2. **统一处理所有无效值**:只有当两个值都为无效值时才返回 `true`,否则只要有一个无效就返回 `false`。 3. **保留原有逻辑**:如类型检查、转换和比较等。 这样,像 `[null, 2]`、`[undefined, 3]` 或 `[&#39;&#39;, 5]` 这样的输入都会被拦截,而 `[null, null]` 或 `[undefined, undefined]` 才能返回 `true`。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值