当前位置: 首页 > 图文教程 > 网络编程 > Javascript > js 表单验证方法(实用)

Javascript
web开发设计师比较费解的JavaScript
jQuery教程:整理的几个常见的初学者问题
免费资源:7个效果非常棒的jQuery 3D效果插件
JavaScript教程:编写匿名函数的几种方法
jQuery教程:jQuery的核心
jQuery教程:jQuery核心方法的使用
webjx收集45个jQuery导航插件和教程
30个气泡悬浮框(Tooltip)的jQuery插件
Jetpack扩展案例:Gmail邮件提醒功能
非常出色的jQuery运动特效可以和Flash媲美
ImagesLazyLoad 图片延迟加载效果
收集国外的14个图片放大编辑的jQuery插件
修改和创建DOM节点两种方式的4种优化方案
jQuery.Switchable整合插件用途介绍
提高Textarea操作性能优秀的jQuery插件
WEBJX收集12个非常有创意的JavaScript小游戏
Javascript教程:关于深入了解JS的几个问题

Javascript 中的 js 表单验证方法(实用)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 452 ::
收藏到网摘: n/a

每次都要用到表单验证的时候,就在到处找东西,而网上的很多都不见的好用。自己终于累计了这些方法,在自己的程序中使用了的一些方法,肯定是好用的,主要使用了简单的正则表达式进行判断。如果有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=/^(\w){6,20}$/;
var patrn =/^(\w)*$/;
if (!patrn.exec(s)){
alert(errMsg);
return false
}
return true
}
//下面验证只允许中文
function isChinese(textId,errMsg)
{
s = document.getElementById(textId).value;
var patrn =/[^\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=/^(\d){6,20}$/;
var patrn =/^(\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,'');
}