如何让用户只将数字粘贴到文本区域框中?

时间:2015-05-13 19:03:54

标签: javascript

我要求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。请提出一些建议?

3 个答案:

答案 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。你可能会喜欢它

相关问题