JavaScript验证知识整理


Posted in Javascript onMarch 24, 2017

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

1.文本框只能输入数字代码(小数点也不能输入)

<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">

2.只能输入数字,能输小数点.

<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"> 
<input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">

3.数字和小数点方法二

<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}">

4.只能输入字母和汉字

<input onkeyup="value=value.replace(/[\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength=10 name="Numbers">

5.只能输入英文字母和数字,不能输入中文

<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">

6.只能输入数字和英文<font color="Red">chun</font>

<input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">

7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:

<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">

8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:

<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">

禁止特殊字符:

onKeyPress="if(event.keyCode < 45 || event.keyCode > 57 ) event.returnValue = false;"

只能输入汉字:

<input onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))">

style="ime-mode:disabled"禁止汉字输入法

只能输入数字:

<input onkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))">

只能输入英文和数字:

<input onkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))">

控制输入框只能输入文字或数字,也可以不允许输入特殊字符

这里不允许输入如下字符: (像 ^&* 等)<br>

<textarea rows=2 cols=20 name=comments onKeypress="if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)) event.returnValue = false;">

只禁止空格输入

onkeyup="value=value.replace(//s/g,'')"

onkeydown="if(event.keyCode==32) return false"

只能输入中文和英文:

onkeyup="value=value.replace(/[^/a-zA-Z/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/a-zA-Z/u4E00-/u9FA5]/g,''))"

不允许输入特殊字符和空格:

<input id="code" onkeypress="return ValidateSpecialCharacter();" onblur="validate(this)"/>

不能为空

<input onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能为空!')">

判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母

/^([a-zA-z_]{1})([\w]*)$/g.test(str)

只能输入数字

<input name="text" type="text" id="NewPage" onKeyUp="value=value.replace(/\D/g,'')" onafterpaste="value=value.replace(/\D/g,'')" >

只能输入中文

<input type="text" onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')">

只能输入英文

<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')">
<input type="text" onkeyup="value=value.replace(/[^a-zA-Z]/g,'')">

只能输入中文、英文、数字、@符号和.符号

<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.]/g,'')">

只允许输入英文,且不能粘贴也无法弹出粘贴菜单

<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')" onkeydown="fncKeyStop(event)" onpaste="return false" oncontextmenu = "return false"/>

只能输入数字和点号(注意:在[^\d\.]里的d不能写成大写D,否则就变成除了数字以外的所有字符)

<input name="price" type="text" size="8" maxlength="8" onkeyup="value=value.replace(/[^\d\.]/g,'')" >

总而言之:先在<input>里输入onkeyup="value=value.replace(/[^\X]/g,'')" 然后在(/[\X]/g,'')里的X换成你想输入的代码就可以了

中文:u4E00-u9FA5

数字:d、0-9

英文:a-z、A-Z

其它符号@,点或其它符号.也可以多个,用\隔开就行了.

例如:

中、英文和数字加@符号加点符号:\a-\z\A-\Z0-9\u4E00-\u9FA5\@\.

若想在文本框里不能右键弹出菜单和不能粘贴进复制的信息的话就要在<input>里输入 onKeyDown="fncKeyStop(event)" onpaste="return false" oncontextmenu="return false;"

其一,只允许输入数字和小数点。

<input onKeypress="return (/[/d.]/.test(String.fromCharCode(event.keyCode)))" style="ime-mode:Disabled">

其二,判断的更详细一些,甚至22..2这样不算数字也判断得出来

<script> 
function check(){ 
if (isNaN(tt.value)) 
{alert("非法字符!"); 
tt.value="";} 
} 
</script> 
<input type="text" name="tt" onkeyup="check();">

其三,只允许输入整数。其实也完全可以根据第三条来举一反三做一些限制。

<script language=javascript> 
function onlyNum() 
{ 
if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39)) 
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) 
event.returnValue=false; 
} 
</script><input onkeydown="onlyNum();" style="ime-mode:Disabled>

结语,其实

style="ime-mode:Disabled

这句是比较实用的。意为关闭输入法。省得有些人开着全角输入数字,结果输入不进去来找你哭天抹泪的,还怪你设计的不好。

只允许输入数字

<input name="username" type="text" onkeyup="value=this.value.replace(//D+/g,'')">

只允许输入英文字母、数字和下划线(以下二种方法实现)

<input name="username" type="text" style="ime-mode:disabled"> 
<input name="username" type="text" onkeyup="value=value.replace(/[^/w/.//]/ig,'')">

只允许输入英文字母、数字和&=@

<input name="username" type="text" onkeyup="value=value.replace(/[^/w=@&]|_/ig,'')">

只允许输入英文字母、数字和&=@

<input name="username" type="text" onkeyup="value=value.replace(/[^/w=@&]|_/ig,'')">

只允许输入汉字

<input name="username" type="text" onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')">

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
js操作二级联动实现代码
Jul 27 Javascript
JavaScript面向对象程序设计三 原型模式(上)
Dec 21 Javascript
jquery中.add()的使用分析
Apr 26 Javascript
javaScript基础语法介绍
Feb 28 Javascript
浅析JS运动
Dec 28 Javascript
巧用数组制作图片切换js代码
Nov 29 Javascript
详解微信小程序 template添加绑定事件
Jun 23 Javascript
JS实现登录页密码的显示和隐藏功能
Dec 06 Javascript
vue-cli创建的项目,配置多页面的实现方法
Mar 15 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
Jun 24 Javascript
vue-router重写push方法,解决相同路径跳转报错问题
Aug 07 Javascript
JavaScript实现京东快递单号查询
Nov 30 Javascript
Bootstrap常用组件学习(整理)
Mar 24 #Javascript
详解打造 Vue.js 可复用组件
Mar 24 #Javascript
JavaScript获取URL参数的方法之一
Mar 24 #Javascript
原生JS改变透明度实现轮播效果
Mar 24 #Javascript
深入理解vue路由的使用
Mar 24 #Javascript
原生JS实现导航下拉菜单效果
Nov 25 #Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
Mar 24 #jQuery
You might like
thinkPHP的表达式查询用法详解
2016/09/14 PHP
中止javascript执行的方法
2014/02/14 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
js函数与php函数的区别实例浅析
2015/01/12 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
JavaScript与ActionScript3两者的同性与差异性
2016/09/22 Javascript
node+express制作爬虫教程
2016/11/11 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
Vue服务器渲染Nuxt学习笔记
2018/01/31 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
2019/07/04 Javascript
VUE写一个简单的表格实例
2019/08/06 Javascript
解决Vue调用springboot接口403跨域问题
2019/09/02 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
JavaScript鼠标拖拽事件详解
2020/04/03 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
Python之re操作方法(详解)
2017/06/14 Python
浅谈Python实现贪心算法与活动安排问题
2017/12/19 Python
python3.7.0的安装步骤
2018/08/27 Python
IronPython连接MySQL的方法步骤
2019/12/27 Python
利用CSS3的3D效果制作正方体
2020/03/10 HTML / CSS
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
高级护理专业大学生求职信
2013/10/24 职场文书
双十佳事迹材料
2014/01/29 职场文书
股份合作协议书范本
2014/04/14 职场文书
人事经理岗位职责
2014/04/28 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
物流专业自荐信
2014/05/23 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
2014年资料员工作总结
2014/11/18 职场文书
国家助学金感谢信
2015/01/21 职场文书
九九重阳节致辞
2015/07/31 职场文书
python中的class_static的@classmethod的巧妙用法
2021/06/22 Python