我要求textarea字段只允许数字并输入可以轻松检查的键,
function validate(key) {
// getting key code of pressed key
var keycode = (key.which) ? key.which : key.keyCode;
var phn = document.getElementById('textarea');
// comparing pressed keycodes
if ((keycode < 48 || keycode > 57) && keycode !== 13) {
return false;
}
}
<div>
<textarea id="textarea" rows="4" cols="50" onkeypress="return validate(event)" />
</div>
但是,如果 用户将某些内容复制粘贴到文本区域字段 ,则此功能会中断。如果用户仅复制了数字,即如何进行用户粘贴,即
13131331 - should be pasted
2wewewe12 - should not be pasted
我不做Javascript。请提出一些建议?
答案 0 :(得分:0)
假设inputText是输入字段的内容,请尝试:
var textareaInput = $("#txtarea").val();
if ((keycode < 48 || keycode > 57) && keycode !== 13 && isNaN(parseInt(textareaInput)))
{
return false;
}
如果输入是数字,它将返回true。
答案 1 :(得分:0)
用于读取粘贴字符串输入的jQuery:
$input = $("textarea");
$input.on("input", function(){
var value = $(this).val();
if ( ! isNaN(parseInt(value)))
$(this).val("");
});
每次输入字符或将某些内容粘贴到文本区域时,它都会检查文本区域的值是否为数字。如果是,请保留它,否则转储整个内容并使其成为空字符串。
答案 2 :(得分:0)
为此目的,有一个漂亮的jquery插件:inputmask。你可能会喜欢它