怎么限制input的text里输入的值只能是数字(正则、js)
当我们在一些网站注册账号、填写信息是,不小心将电话号码填写成汉字或其他英文字母了,这显然是不正确的。为了帮助用户更好地纠正输入时的错误,在表单中填写信息时,需要限制手机号、邮编、电话号码这类文本框不能输入其他字符,只能是数字。
通过使用正则匹配输入的时候只是数字:
var numRegex = /\D/g
再通过JavaScript的onblur 事件:
定义和用法
onblur 事件会在对象失去焦点时发生。
Onblur 经常用于Javascript验证代码,一般用于表单输入框
语法
HTML 中:
<element onblur="SomeJavaScriptCode">
JavaScript 中:
object.onblur= function(){
//操作
myScript;
}
JavaScript 中, 使用 addEventListener() 方法:
object.addEventListener('blur',myScript);
最终DEMO代码:
var numRegexFn = function(obj){
obj.value = obj.value.replace(numRegex,'');
if(!obj.value){
alert('请输入数字');
}else{
alert('pass');
}
}
phone.onblur = function(){
numRegexFn(this);
}
以上所述是小编给大家介绍的使用正则表达式和js限制只能输入数字的相关内容,希望对大家有所帮助,也希望大家多多的关注我们网站!
相关推荐
-
JS正则表达式匹配检测各种数值类型(数字验证)
验证数字的正则表达式集 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 验证非零的正整数:^\+?[1-9][0-9]*$ 验证非零的负整数:^\-[1-9][0-9]*$ 验证非负整数(正整数 + 0) ^\d
-
js正则表达式匹配数字字母下划线等
1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾: ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中: ^ 与字符串开始的地方匹配 (?!_) 不能以_开头 (?!.*?_$) 不能以_结尾 [a-zA-Z0-9_\u4e00-\u9fa5]+ 至少一个汉字.数字.字母.下划线 $ 与字符串结束的地方匹配 放在程序里前面加@,否则需要\\进行转义 @"^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]
-
JavaScript基于正则表达式的数字判断函数
1.下面列出了一些判读数值类型的正则表达式 复制代码 代码如下: "^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\\d+$" //整数 "^\\d+(\\.\\d+)?$" //非负浮点数(正浮
-
js中使用正则表达式查找字母和数字的方法
废话不多说,先看下js中使用正则查找字母和数字的方法,具体代码如下所示: <!DOCTYPE HTML> <html > <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> window.onload=function(){ localStorage.fiveData="
-
JS基于正则实现数字千分位用逗号分隔的方法
本文实例讲述了JS基于正则实现数字千分位用逗号分隔的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js千分位逗号隔开</title> </head> <body> <script > var a = 222122122.6754
-
javascript 数字的正则表达式集合
说明:IE6.0.IE7.0.IE8.0.Firefox/3.0.11下测试通过 验证数字最简单正则表达式大全 输入完按回车后即可验证!(自认为最简单!) 正整数: 负整数: 整 数: 正小数: 负小数: 小 数: 实 数: 保留1位小数: 保留2位小数: 保留3位小数: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
-
js正则表达式实现数字每隔四位用空格分隔代码
数字每隔四位用空格分隔代码实例: 分享一段代码实例,它实现了数字每隔四位就用空格分隔. 这样的效果在填写银行卡的时候十分常见,这也是非常人性化的举措. 代码实例如下: <!doctype html> <html> <head> <meta charset="utf-8"> <title>我们</title> <script src="http://libs.baidu.com/jquery/1.9.
-
Javascript 正则表达式实现为数字添加千位分隔符
最近在网上有看到使用js来实现数字的千位分隔符的面试(笔试)题,所以就自己写了一个利用"正则+replace"来实现的方法: 复制代码 代码如下: var thousandBitSeparator = function(numStr){ var b = /([-+]?\d{3})(?=\d)/g; return numStr.replace(b, function($0, $1){ return $1 + ','; }); } 支持正负
-
js中判断数字\字母\中文的正则表达式 (实例)
/* 判断指定的内容是否为空,若为空则弹出 警告框 */ function isEmpty(theValue, strMsg){ if(theValue==""){ alert(strMsg+"不能为空!"); return true; } return false; } /* 中文判断函数,允许生僻字用英文"*"代替 返回true表示是符合条件,返回false表示不符合 */ function isChinese(str){ var badCh
-
JS正则表达式验证数字代码
复制代码 代码如下: <script type="text/javascript"> function validate(){ var reg = new RegExp("^[0-9]*$"); var obj = document.getElementById("name"); if(!reg.test(obj.value)){ alert("请输入数字!");
-
js限制文本框只能输入数字(正则表达式)
好了,言归正传.话说我在网上找了很多限制文本框的办法都不尽人意,于是只好自己动手实践了,实践出真知嘛,这句话没错的. 复制代码 代码如下: function chkPrice(obj){ obj.value = obj.value.replace(/[^\d.]/g,""); //必须保证第一位为数字而不是. obj.value = obj.value.replace(/^\./g,""); //保证只有出现一个.而没有多个. obj.value = obj.val
随机推荐
- Perl中的控制结构学习笔记
- 二进制交叉权限微型php类分享
- 将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库)
- js监控IE火狐浏览器关闭、刷新、回退、前进事件
- Win2003 R2 SP2 64位服务器系统 配置PHP+IIS6
- 执行批处理bat程序中的条件处理
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- 深入理解java动态代理机制
- Swift中初始化方法的顺序介绍
- TextArea设置MaxLength属性最大输入值的js代码
- JS弹出对话框实现方法(三种方式)
- c#创建vc可调用的com组件方法分享
- 排序算法之PHP版快速排序、冒泡排序
- Yii使用Captcha验证码的方法
- Android抽奖轮盘的制作方法
- Android Activity回收与操作超时处理
- PHP浮点数精度问题汇总
- 基于startActivityForResult方法处理两个Activity之间数据传递问题
- javascript回调函数的概念理解与用法分析
- 用JavaScript实现一个代码简洁、逻辑不复杂的多级树
