文档章节

表单验证

 沧海野狼
发布于 2016/12/03 14:35
字数 317
阅读 5
收藏 0

正则表达式限制输入框只能输入数字     

代码如下: 
<inpu type="text" onkeyup="this.value=this.value.replace(/[^/d]/g,'') " onafterpaste="this.value=this.value.replace(/[^/d]/g,'') " name="f_order" value="1"/> 

其中,onafterpaste防止用户从其它地方复制内容粘贴到输入框 


输入框只能输入字母和下横线的正则表达式 
<input onkeyup="this.value=this.value.replace(/[^_a-zA-Z]/g,'')" onpaste="this.value=this.value.replace(/[^_a-zA-Z]/g,'')"> 


输入框只能输入字母数字和下横线的正则表达式 
<input onkeyup="this.value=this.value.replace(/[^/w]/g,'')" onpaste="this.value=this.value.replace(/[^/w]/g,'')"> 
或 
<input onkeyup="this.value=this.value.replace(/[/W]/g,'')" onpaste="this.value=this.value.replace(/[/W]/g,'')">

不过上面使用的是替换的方法,因为替换的执行需要一定的时间,所以就存在个漏洞。就是只要你操作够快,在替换执行前你就提交了表单

那上面的限制就失效了。

要想没有上面的BUG,就得改下触发事件。上面是onkeyup,需要改成onkeypress。代码如下

<input  onkeypress="if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;" >

这里使用的是ASCII码,'0'的ASCII码为48,'9'的ASCII码为57。可以根据自己的需要修改条件。

这个没有处理粘贴事件,就是用户可以粘贴过来其它字符,只要把上面的onkeyup和onpaste事件加过来就可以了

本文转载自:http://www.phpblog.cc/pc/qdjs/jqjs/2015/1010/136.html

共有 人打赏支持
粉丝 1
博文 20
码字总数 1432
作品 0
东城
程序员
私信 提问

暂无文章

防止Tweak

什么是tweak? 英文意思为捏, 拧,扭,稍稍调整(机器、系统等)。 依据维基百科的定义,tweak指的是对电子系统进行轻微调整来增强其功能的工具;在ios中tweak特指那些能够增强其它可执行程...

HeroHY
31分钟前
1
0
linux中常用标识---不定期更新

LINUX常用标识符: 1 & && | || &: 表示进程在后台运行 例如 redis-server & 不是所有后台运行都是& 比如es ./bin/elasticsearch -d es后台运行&&: 第一个命令执行成功后 才执行后面的命令...

geek土拨鼠
今天
1
0
Mybatis 中$与#的区别,预防SQL注入

一直没注意Mybatis 中$与#的区别,当然也是更习惯使用#,没想到避免了SQL注入,但是由于要处理项目中安全渗透的问题,不可避免的又遇到了这个问题,特此记录一下。 首先是共同点: 在mybatis...

大雁南飞了
今天
0
0
Spring Clould负载均衡重要组件:Ribbon中重要类的用法

Ribbon是Spring Cloud Netflix全家桶中负责负载均衡的组件,它是一组类库的集合。通过Ribbon,程序员能在不涉及到具体实现细节的基础上“透明”地用到负载均衡,而不必在项目里过多地编写实现...

Ala6
今天
0
0
让 linux 删除能够进入回收站

可以参考这个贴子 https://blog.csdn.net/F8qG7f9YD02Pe/article/details/79543316 从那个git地址 把saferm.sh下载下来 把saferm.sh复制到 /usr/bin 目录下 在用~/目下 的.bashrc 下加一句这...

shzwork
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部