只能输入数字的文本框案例中,如果使用输入法就可以输入非数字

收藏
Javascript基础语法
14
Feb 1, 2018

只能输入数字的文本框案例中,如果使用输入法就可以输入非数字

回答

筱竹回答

问题分析

案例中使用keycode值来判断输入的是否为数字,是不严谨的,应该使用正则表达式进行匹配。

问题解决办法

<input type="text" onkeyup="if(!/^\d+$/.test(this.value)) { this.value='';}" />

/*

if判断语句中的意思为:

 / /  两个斜杠表示要在这里面写正则表达式的匹配规则, !表示非 , ^ 表示匹配开头 $表示匹配结尾  \d 表示匹配一个数字字符。等价于[0-9]  + 表示匹配一个或多个,连起来的意思是 ,匹配this.value 获取这个非数字的字符,this.value='' 把这个值清空。


*/

 

(0)

提交成功