You need to enable JavaScript to run this app. 为什么JavaScript中indexof方法无法检测到字符串中的空格导致校验失效?
优惠活动
大模型
产品
解决方案
定价
更多

为什么JavaScript中indexof方法无法检测到字符串中的空格导致校验失效?

问题原因

  • 方法名拼写错误:JavaScript 字符串的空格查找方法是驼峰命名的indexOf(),你写的小写indexof()是不存在的,调用后会返回undefined,undefined > 0的判断结果为假,因此密码含空格的校验逻辑完全不触发。
  • 空格判断边界缺陷:现有indexOf(" ") > 0的写法无法识别首字符为空格的情况,空格出现在索引0位时会被漏判,需要调整为>= 0。
  • 确认密码校验逻辑错误:你直接对比f.CPassword和f.Password两个DOM元素对象,而非用户输入的实际值,该判断永远无法按预期生效,需要补充.value取输入值对比。

修正后代码

function Verif1() {
  if (f.Name.value.length < 3) {
    return false;
  } else if (f.LastName.value.length < 3) {
    return false;
  } else if (f.Mobile.value.length != 8 || f.Mobile.value < 1) {
    return false;
  } else if (f.Password.value.length < 6 || f.Password.value.indexOf(" ") >= 0) {
    return false;
  } else if (f.CPassword.value !== f.Password.value) {
    return false;
  } else {
    return true;
  }
}

内容的提问来源于stack exchange,提问作者Lotenz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 12:24:03