每次都要用到表单验证的时候,就在到处找东西,而网上的很多都不见的好用。自己终于累计了这些方法,在自己的程序中使用了的一些方法,肯定是好用的,主要使用了简单的正则表达式进行判断。如果有bug,欢迎提出来。
//下面验证的是长度 
function checkTextLen(textId){ 
var len = 0; 
var checkField=document.getElementById(textId); 
var inputstring = checkField.value; 
var string_length = inputstring.length; 
if (string_length == 0) 
{ 
return 0; 
} 
for (var i=0;i<string_length;i++) 
{ 
if (inputstring.charAt(i).charCodeAt()>255) len+=2; 
else len+=1; 
} 
return len; 
} 
function checkTextLength(textId,length,msg){ 
var textObj =document.getElementById(textId); 
if(checkTextLen(textId)>length/1){ 
alert("["+msg+"]"+"长度最大为"+length+"位,"+"请重新输入!注意:一个汉字占2位"); 
textObj.focus(); 
return false; 
}else { 
return true; 
} 
} 
//下面验证不含有非法的字符,中文,英文,数字都是合法的。 
function isValidString(textId,errMsg){ 
szStr = document.getElementById(textId).value; 
voidChar = "'\"><`~!@#$%^&\(\)()!¥……??“”‘'*"; 
for(i = 0 ; i < voidChar.length; i ++){ 
aChar = voidChar.substring(i, i + 1); 
if(szStr.indexOf(aChar) > -1){ 
alert(errMsg); 
return false; 
} 
} 
return true; 
} 
//下面验证只可以输入字母,数字,下划线 
function isEnglish(textId,errMsg) 
{ 
s = document.getElementById(textId).value; 
//下面的正则表达式限制的长度在6到20之间 
//var patrn=https://www.jb51.net/^(\w){6,20}$/; 
var patrn =https://www.jb51.net/^(\w)*$/; 
if (!patrn.exec(s)){ 
alert(errMsg); 
return false 
} 
return true 
} 
//下面验证只允许中文 
function isChinese(textId,errMsg) 
{ 
s = document.getElementById(textId).value; 
var patrn =https://www.jb51.net/[^\u4E00-\u9FA5]/g; 
if (patrn.exec(s)){ 
alert(errMsg); 
return false 
} 
return true 
} 
//下面验证只允许数字 
function isNumber(textId,errMsg) 
{ 
s = document.getElementById(textId).value; 
//下面的正则表达式限制的长度在6到20之间 
//var patrn=https://www.jb51.net/^(\d){6,20}$/; 
var patrn =https://www.jb51.net/^(\d)*$/; 
if (!patrn.exec(s)){ 
alert(errMsg); 
return false 
} 
return true 
} 
使用js的正则表达式用来控制不允许在文本框里面输入非数字,也就是只允许输入数字。调用方法 : onkeyup="onlyNum(this);" 
function onlyNum(obj) 
{ 
temp = obj.value; 
//注意下面的正则表达式的写法,没有用引号括起来。。 
obj.value = temp.replace(/\D/g,''); 
} 
您可能感兴趣的文章:
