最近,遇到一个平时也最常遇到的输入框输入验证问题,比如验证时间必须为13:00这种格式。折腾整理出来两种用js验证的。
第一种:
<input class="input-text" name="endtime" type="text" onkeyup="this.value=this.value.replace(/[^\d\:]/g,'')"
直接采用键盘弹起事件,利用正则表达式替换掉非法的字符,即使输入了,也会立即被替换成空。
第二种
<input class="input-text" name="endtime" type="text" onkeydown="checkKeyForTime(this.value,event)"/>
<script type="text/javascript">
function checkKeyForTime(value,e){
var isOK = false;
var key = window.event ? e.keyCode : e.which;
if ((key > 95 && key < 106) || //小键盘上的0到9
(key > 47 && key < 60) || //大键盘上的0到9
key==186 || key == 8 || key == 9 || key == 46 || key == 37 || key == 39 //不影响正常编辑键的使用(186:冒号 8:BackSpace;9:Tab;46:Delete;37:Left;39:Right)
) {
isOK = true;
} else {
if (window.event) //IE
{
e.returnValue = false; //event.returnValue=false 效果相同.
}
else //Firefox
{
e.preventDefault();
}
}
return isOK;
}
</script>
第二种,是直接在其按下按键的时候判断输入的字符的ascii码是否在合法的范围,不在则不让其触发事件,让其无法输入。
问题:第二种方式有个问题,就是在于在不同的输入法状态下,非法字符的ascii码值不是相同的,所以导致上面第二种在某种输入法状态下还是无法过滤非法的字符,所以,最好的方式直接采用正则表达式来过滤替换 :wink:
分享到:
相关推荐
验证文本框只能输入数字和小数点,且第一位不能输入小数点,并且只能输入一个小数点。兼容火狐和IE
JS只能输入数字,数字和字母等的正则表达式,针对html文本框的实用性代码
JS 只能输入数字,email的验证。。。JS 只能输入数字,email的验证。。。JS 只能输入数字,email的验证。。。
tt.DV(日期及时间) tt.NRV(数字范围) tt.LV(字符串长度) tt.CV(与其它字段或值比较) 直接通过tt.vf获取的验证器 req(非空) num(数字) int(整数) email(邮箱) ip(ipv4) postcode(邮政编码) tel(电话号码)...
jQuery formValidator表单验证插件,它是基于jQuery类库,实现了js脚本于页面html代码的分离。你可以划分多个校验组,每个组的校验都是互不影响。对一个表单对象,你只需要写一行代码就可以轻松实现无数种(理论上)...
——学习参考资料:仅用于个人学习使用! javascript代码-使用js验证input输入框(字母,数字,符号,中文)的源代码
JS常用工具函数(压缩包中含有MD文件可自行查看)--包含:通用格式化时间、字符串验证-验证邮箱、手机号、电话号码、url地址、严格校验身份证号码,判断数据类型-是否是字符串、数字、Boolean、函数、对象、数组...
JS验证文本框输入Money类型保留两位小数和只能输入数字,以前是免费的不知到什么时候被改成收费了,希望大家谅解
本文主要介绍了JS验证input输入框(字母,数字,符号,中文)的方法。具有很好的参考价值。下面跟着小编一起来看下吧
文本框只能输入汉字,全角, 数字,小数,只能输入英文和数字 默认显示
验证PDF 验证JS中的pdf文件(同时支持node.js和...验证中验证pdf的数字签名并提取证书详细信息Node.js const verifyPDF = require ( '@ninja-labs/verify-pdf' ) ;const signedPdfBuffer = fs . readFileSync ( 'yo
看了山人表单验证,又看了其他一些验证程序和相关的一些参考资料,写出了一个比较简洁的js表单验证程序。 功能简述: 验证: http地址 时间日期 e-mail 数字 字符长度检查 一项输入与另一项输入比较(例如:...
验证数字最简单正则表达式大全 输入完按回车后即可验证!(自认为最简单!) 正整数: 负整数: 整 数: 正小数: 负小数: 小 数: 实 数: 保留1位小数: 保留2位小数: 保留3位小数: [Ctrl+A...
对密码弱中强的验证,由输入密码判断,只有数字为弱,足够长度加上字母为中,在加上一些字符就会显示强,而且验证条的颜色会随着弱中强而改变
Bootstrap有自定义的验证码样式,在前端页面可以直接使用,他的css、js在使用前要在开头引入 上代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <!-- 告诉浏览器网页所...
主要介绍了JS控制只能输入数字并且最多允许小数点两位,本文给大家提到js如何限制input输入框只能输入数字问题,需要的朋友可以参考下
本文实例为大家分享了js实现密码输入强度验证的具体代码,供大家参考,具体内容如下 需求: 1.需要对用户输入的密码进行验证,验证的级别分为强中弱,如果输入的密码强度少于6时,则不会验证,只有密码强度在6-20时...
在上一篇文章//www.jb51.net/article/83504.htm中,用javascript实现了用户验证,但并没有对密码进行验证,这次追加了这个功能,并分别用javascript和jquery实现。 一.用jquery的ajax实现的关键代码 实现如下 /*...
包括一个数字 大写 小写 包括特殊字符 密码匹配 入门简单 跟着我 克隆回购 Npm安装 资源 文章/指南 找我 领英(LinkedIn): : 媒介: : GitHub: : 如果最终克隆不止一次,请给它加注星标