如何设置输入框输入值不是中文和空格

方法一:使用正则表达式验证输入值是否合法。

javascript 复制代码
<input type="text" id="myInput">

<script>
  const input = document.getElementById("myInput");
  
  input.addEventListener("input", function() {
    const value = this.value;
    const regex = /^[一-龥\s]+$/; // 匹配中文和空格的正则表达式
    
    if (!regex.test(value)) {
      this.value = value.replace(/[^一-龥\s]+/g, ""); // 将非中文和空格的字符替换为空
    }
  });
</script>

方法二:使用input事件和ASCII码验证输入值是否合法。

javascript 复制代码
var input = document.getElementById("myInput");
input.addEventListener("input", function() {
  var value = this.value;
  var newValue = '';
  for (var i = 0; i < value.length; i++) {
    var asciiCode = value.charCodeAt(i);
    if ((asciiCode >= 0 && asciiCode <= 64) || (asciiCode >= 91 && asciiCode <= 96) || (asciiCode >= 123 && asciiCode <= 127)) {
      continue; // 排除掉ASCII码表中不符合条件的字符
    } else {
      newValue += value.charAt(i);
    }
  }
  this.value = newValue;
});

上述代码中,我们使用for循环遍历输入的值中的每一个字符,并使用charCodeAt()方法获取每个字符的ASCII码。然后,我们根据ASCII码表中不符合要求的字符的范围来排除掉这些字符,只保留符合条件的字符。最后,我们使用一个新的字符串变量newValue来保存符合条件的字符,并将其赋值给输入框的value属性。

相关推荐
小彭努力中10 分钟前
191.Vue3 + OpenLayers 实战:可控化版权信息(Attribution)详解与完整示例
前端·javascript·vue.js·#地图开发·#cesium
奇舞精选12 分钟前
用去年 github 最火的 n8n 快速实现自动化推送工具
前端·agent
奇舞精选16 分钟前
实践:如何为智能体推理引入外部决策步骤
前端·agent
无限大623 分钟前
AI实战02:一个万能提示词模板,搞定90%的文案/设计/分析需求
前端·后端
朝阳5811 小时前
控制 Nuxt 页面的渲染模式:客户端 vs 服务端渲染
前端·javascript
发现一只大呆瓜1 小时前
Vue-Vue2与Vue3核心差异与进化
前端·vue.js·面试
sunny_1 小时前
熬夜通宵读完 VitePlus 全部源码,我后悔没早点看
前端·前端框架·前端工程化
发现一只大呆瓜1 小时前
Vue2:数组/对象操作避坑大全
前端·vue.js·面试
发现一只大呆瓜1 小时前
Vue3:ref 与 reactive 超全对比
前端·vue.js·面试
lzksword1 小时前
C++ Builder XE OpenDialog1打开多文件并显示xls与xlsx二种格式文件
java·前端·c++