Advertisement

JS不允许输入框显示负数

阅读量:

通过网络搜索获取了大量相关代码,发现其功能表现大同小异,主要问题在于当用户输入负号时,系统会将所有内容清空,这种交互方式严重影响用户体验。一旦用户误操作输入错误,就需要重新输入全部内容,增加了使用负担。

经过查阅大量关于输入框事件处理的相关资料,并结合实际需求进行归纳总结,最终找到了一种最优解决方案,能够有效防止用户输入负数,欢迎各位提出宝贵意见和进行交流讨论。

代码:

复制代码
    <input type="number" onkeypress="return noNumbers(event)" />
    
复制代码
 function noNumbers(e){

    
     var keycode = window.event ? e.keyCode : e.which;
    
     //Internet Explorer/Chrome 浏览器使用 event.keyCode 取回被按下的字符,而 Netscape/Firefox/Opera 等浏览器使用 event.which。
    
     var keychar = String.fromCharCode(keycode);//fromCharCode:将 Unicode 编码转为一个字符
    
     
    
     if(keycode >= 48 &&

全部评论 (0)

还没有任何评论哟~