试过几个方法。
第一个onkeyup="value=value.replace(/[^0-9]/g,'')" onpaste="value=value.replace(/[^0-9]/g,'')" oncontextmenu = "value=value.replace(/[^0-9]/g,'')"这个方法可以,但是按住不动光标点击框外没有焦点就可以输入。
方法2:
var keyup = function (obj) {
var reg = /^[a-\z\A-\Z0-9\u4E00-\u9FA5.-]+$/;
//验证长度
if (obj.value.length > 20) {
obj.value = '';
}
//验证类型
if (!reg.test(obj.value)) {
obj.value = '';
}
}
结果和方法一一样!
方法三:
function ischin(str) {
var reg=/^[a-\z\A-\Z0-9.-\。\,*]{1,20}$/; /*定义验证表达式*/
return reg.test(str); /*进行验证*/
}
function fun1(){
if(!ischin(document.getElementById("username").value)){
alert("用户名长度错误或使用特殊字符");
document.getElementById("username").focus();
return false;
}
return true;
}
这个方法好,但是加入id在浏览器审查元素中删掉标签这个id,就失效了!防不住。
请问有什么好的解决方法吗?小白求教