js限制文本框只能输入数字(正则表达式)

好了,言归正传。话说我在网上找了很多限制文本框的办法都不尽人意,于是只好自己动手实践了,实践出真知嘛,这句话没错的。


代码如下:

function chkPrice(obj){
obj.value = obj.value.replace(/[^\d.]/g,"");
//必须保证第一位为数字而不是.
obj.value = obj.value.replace(/^\./g,"");
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{2,}/g,".");
//保证.只出现一次,而不能出现两次以上
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
}
function chkLast(obj){
// 如果出现非法字符就截取掉
if(obj.value.substr((obj.value.length - 1), 1) == '.')
obj.value = obj.value.substr(0,(obj.value.length - 1));
}

下面是需要调用的文本框:


代码如下:

<input type="text" name="txtFee" id="txtFee" class="common" onkeyup="chkPrice(this);" onblur="chkLast(this)" onpaste="javascript: return false;"/>

最后这个:onpaste="javascript: return false;" 的目的是禁用鼠标右键的“粘贴”菜单,可以防止鼠标右键或者Ctrl + V粘贴不合法的数据,嘿嘿。

上面这段JS我只在IE8环境测试过,如果各位看官有什么想法或者疑问,请留言。

(0)

相关推荐

  • 纯JS实现只能输入数字的简单代码

    只能输入数字 <!DOCTYPE html> <html lang="en"> <head> <title></title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href=&quo

  • js控制文本框只输入数字和小数点的方法

    本文实例讲述了js控制文本框只输入数字和小数点的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: function clearNoNum(obj) {  obj.value = obj.value.replace(/[^\d.]/g, "");//清除"数字"和"."以外的字符  obj.value = obj.value.replace(/^\./g, "");//验证第一个字符是数字而不是.  obj.

  • js禁止小键盘输入数字功能代码

    复制代码 代码如下: function isNum()//判断小键盘输入数字 { var str=(window.event.keyCode); if(str>105 || str<96 ) { if (str!=8 ) { window.event.returnValue=false; return; } } } function isNumUp()//判断主键盘输入数字 { var str=(window.event.keyCode); if(str>57 || str<48

  • JS只能输入数字或数字和字母等的正则表达式

    JS判断只能是数字和小数点 0.不能输入中文 1)<input onpaste="return false;" type="text" name="textfield" style="width:400px; ime-mode:disabled" value=""> 2) 复制代码 代码如下: <script> function chkIt(frm){ if (frm.n1.valu

  • 『JavaScript』限制Input只能输入数字实现思路及代码

    这玩意很多人写过,但是今天临时要用的时候找不到符合需求的,所以立马来写一个,既然都写完了而且还满符合需求的就放上来让大家鞭一鞭. 需求很简单,一个文字方块必须限制只能输入数字(或是小数点)并且要支援 IE 和 Firefox. HTML的 Input 是这样下滴 复制代码 代码如下: <input type="text" style="ime-mode:disabled" onkeyup="return ValidateNumber($(this),

  • js实现文本框只允许输入数字并限制数字大小的方法

    本文实例讲述了js实现文本框只允许输入数字并限制数字大小的方法.分享给大家供大家参考.具体如下: 这是一个很个性的输入框特效,规定文本框只允许输入数字,如果你执意要输入其它的字符,则输入的字符将自动消失,除非你输入的是规定内的字符格式,并且对输入数字大小也有限制!为保证兼容性,请使用火狐浏览器. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-input-limit-num-codes/ 具体代码如下: <!DOCTYPE html PUB

  • js限制文本框只能输入数字方法小结

    有时需要限制文本框输入内容的类型,本节分享下正则表达式限制文本框只能输入数字.小数点.英文字母.汉字等代码. 例如,输入大于0的正整数 复制代码 代码如下: <input onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.valu

  • js 只能输入数字和小数点的文本框改进版

    1.鼠标左右移动的时候. 2.最后一个不能是小数点. js 只能输入数字和小数点 //by ahuinan 2009-4-10 function clearNoNum(event,obj){ //响应鼠标事件,允许左右方向键移动 event = window.event||event; if(event.keyCode == 37 | event.keyCode == 39){ return; } //先把非数字的都替换掉,除了数字和. obj.value = obj.value.replace

  • js 限制input只能输入数字、字母和汉字等等

    复制代码 代码如下: <input type="text"onKeyUp="this.value=this.value.replace(/[^\.\d]/g,'');if(this.value.split('.').length>2){this.value=this.value.split('.')[0]+'.'+this.value.split('.')[1]}"> 1.文本框只能输入数字代码(小数点也不能输入) 复制代码 代码如下: <i

  • javascript验证只能输入数字和一个小数点示例

    复制代码 代码如下: function gaga(obj){ // 值允许输入一个小数点和数字 obj.value = obj.value.replace(/[^\d.]/g,""); //先把非数字的都替换掉,除了数字和. obj.value = obj.value.replace(/^\./g,""); //必须保证第一个为数字而不是. obj.value = obj.value.replace(/\.{2,}/g,"."); //保证只有出

  • 解析使用js判断只能输入数字、字母等验证的方法(总结)

    JS判断只能是数字和小数点0.不能输入中文1)<input onpaste="return false;" type="text" name="textfield" style="width:400px; ime-mode:disabled" value="">2)<script>function chkIt(frm){if (frm.n1.value.length>0&

随机推荐