You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

文本框字符校验:如何验证输入字符数是否恰好为11位

问题修复说明

你代码里的核心问题有两个:

  • 你取到的l是input元素对象本身,不是输入框里的文本内容,需要先取.value拿到输入的字符串,再获取长度才是输入的字符数
  • 条件判断的逻辑和输出内容写反了,满足长度等于11的时候你输出了「不足11字符」的提示,和预期不符

另外还有个小优化点:win变量没有加声明,默认会变成全局变量,最好补充let/var声明,写完新窗口内容后建议调用win.document.close()结束写入。


修正后的完整代码

<form name="formz">
  <input type='text' name='numbere' id="p"  maxlength="11">  
</form> 

<button onclick="writee()">x</button>
<script>
function writee(){
  let win = window.open(" ","tab","width=300,height=350")
  win.document.open()
  // 先取input的value值,再获取长度
  let inputVal = document.forms["formz"].numbere.value;
  if(inputVal.length === 11){
    win.document.write("字符数恰好为11<br/>");
  }else{
    win.document.write("字符数不等于11<br/>");
  }
  win.document.close()
}
</script>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 07:45:00