3

我试图将下面显示的 contenteditable 跨度限制为 5 个字符(4 个数字和一个破折号)。用户需要能够输入从 -9999 BCE 到当前年份 2013 的年份。年份前的破折号表示 BCE 年份。任何没有破折号的东西都将是 AD 年。

这些都是可以接受的条目:

-9546
-765
-1
0
25
125
2013

<div class="HYPE_element" id="start_year" style="pointer-events: auto; top: 0px; left: 120px; position: absolute; padding: 8px; overflow: visible; word-wrap: break-word; display: inline; z-index: 5; font-size: 16px; color: rgb(120, 204, 187);">
<span contenteditable="true" class="numeric">2013</span>
</div>

现在任何人都可以添加字母数字字符,而且跨度只是不断向右扩展。

我用它来限制字符的长度为 5。

var content_id = 'start_year';  
    max = 4;
    //binding keyup/down events on the contenteditable div
    $('#'+content_id).keyup(function(e){ check_charcount(content_id, max, e); });
    $('#'+content_id).keydown(function(e){ check_charcount(content_id, max, e); });
    function check_charcount(content_id, max, e)
    {   
        if(e.which != 8 && $('#'+content_id).text().length > max)
        {
           // $('#'+content_id).text($('#'+content_id).text().substring(0, max));
            e.preventDefault();
        }
    }

但是我不确定如何将输入的字符限制为数字和破折号。

4

1 回答 1

0

没有多少浏览器支持这个,但是......

<input type="number" max="9999"  min="-9999"/>
于 2013-03-24T22:00:43.743 回答