<分区>
我需要一个验证器,它只允许用户输入text
number
和@
当用户类型不是这些章程时,如 #, $, % ,^ , &, *, (,
这些章程不应该在输入字段中输入,除了输入字段中允许的章程之外,还有什么方法可以阻止
标签 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 - 获取调用 onclick 中定义的 JavaScript 函数的元素 ("<a>")
javascript - 在使用 Meteor.js 发布到客户端之前重新采样时间数据