验证文本区域是否允许输入数字、逗号、点和空格
Validate text area for input numeric, comma, dot and space not allowed
我已经放置了一个文本框,我想对它进行限制。
文本区只允许输入数字、逗号、点,不允许输入空格
您可能以许多不同的方式面对这个问题。大多数人可能会在用户完成输入后删除用户输入。但这是我几年前做过的尝试(使用prototype.js,但应该很容易重写):
Element.prototype.watchInput = function(data){
if(Object.isString(data))
data = {allow:data};
var data = Object.extend({
letters: true,
numbers: true,
allow: '_'
}, data || { });
$(this).observe('keypress', function(e){
setTimeout(function(){
var elem = $(Event.element(e));
var value = elem.getValue();
var input = value.substr(value.length-1).toLowerCase(); // last character
var replace = '';
var remove = true;
if(data.letters && 'abcdefghijklmnopqrstuvwxyz'.include(input)) remove = false;
if(data.numbers && '01234567890'.include(input)) remove = false;
if(data.allow && data.allow.include(input)) remove = false;
if(remove){
elem.setValue(value.gsub(input, replace));
}
}, 3);
});
return this;
}
使用它只需将它应用到您的输入/文本区域:
$('myInput').watchInput({letters:false,allow:',.'});
该元素将在任何keypress
上被观察到。由于按键事件不直接接收客户机输入,我们必须等待一会儿(在我的例子中是3毫秒)。在此之后,我们验证客户端输入的最后一个字符,并在无效的情况下删除它。
我知道,这不是最漂亮的代码,但我认为这个想法值得传播。
相关文章:
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- RegEx查找4位数字前后的逗号
- 通过jQuery函数将拉丁数字更改为波斯数字并添加逗号
- Javascript-Regex,用于逗号分隔的字母数字
- 输入只允许6位数字,逗号分隔后,允许角js中的另外6位数字
- 在输出数字的千分之一位置插入逗号
- 在 Javascript 不起作用的情况下为数字添加逗号
- Javascript允许逗号和数字的货币货币文本框
- 添加逗号以拆分数字
- 需要Selenium IDE中逗号分隔值中的数字
- 向Javascript输出中添加逗号分隔的数字
- javascript正则表达式,用于逗号分隔的数字重复
- 在标记的php变量数字中添加逗号
- 如何将带有逗号千位分隔符的字符串解析为数字
- regex匹配数字逗号数字
- Jquery在数字中添加逗号
- Regex,用于匹配用逗号分隔的特定数字
- 如何使用css将数字格式化为逗号分隔
- 如何在 JavaScript 中用逗号分隔的
- 数字逗号和空格的正则表达式