javascript - 允许用户在输入字段中仅输入文本

标签 javascript html

<分区>

我需要一个验证器,它只允许用户输入text number@

当用户类型不是这些章程时,如 #, $, % ,^ , &, *, (, 这些章程不应该在输入字段中输入,除了输入字段中允许的章程之外,还有什么方法可以阻止

最佳答案

您可能正在寻找正则表达式。 尝试在以下正则表达式的 keyUp 事件上测试字符串:

^[a-zA-Z0-9@]+$

代码:

// This will be triggered everytime a user types anything
// in the input field with id as input-field
$("#input-field").keyup(function(e) {
  // Our regex
  // a-z => allow all lowercase alphabets
  // A-Z => allow all uppercase alphabets
  // 0-9 => allow all numbers
  // @ => allow @ symbol
  var regex = /^[a-zA-Z0-9@]+$/;
  // This is will test the value against the regex
  // Will return True if regex satisfied
  if (regex.test(this.value) !== true)
  //alert if not true
  //alert("Invalid Input");

  // You can replace the invalid characters by:
    this.value = this.value.replace(/[^a-zA-Z0-9@]+/, '');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="input-field" />

更新:

没有jquery:

function validate() {
  var element = document.getElementById('input-field');
  element.value = element.value.replace(/[^a-zA-Z0-9@]+/, '');
};
<input type="text" id="input-field" onkeyup="validate();" />

关于javascript - 允许用户在输入字段中仅输入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27100846/

相关文章:

javascript - 水平居中对齐 File Upload 控件的 'No file chosen' 消息

javascript - 使用 *ngFor 将 Angular Material 中的对象数组分组

javascript - 使用 signalr 进行 AJAX Like Call

javascript - 在新窗口中打开图片...是否可以不在浏览器中打开图片?

javascript - 从错误中恢复

javascript - 获取调用 onclick 中定义的 JavaScript 函数的元素 ("<a>")

javascript - 在使用 Meteor.js 发布到客户端之前重新采样时间数据

javascript - JS代码提取Youtube Livestream视频ID

html - 如何将元素放入输入字段?

javascript - ES6。从外部类访问类变量