成都网站推广
 

中联无限-服务热线:028-86637122 工作时间:9:00-18:00 星期一-星期五

 
首页 | 关于我们 | 新闻动态 | 成都网站建设 | 成都网站推广 | 成都微信营销 | 网站制作案例 | 软件开发 | 常见问题 | 域名注册 | 虚拟主机
  网站知识
     推荐工具 / Tools
     网站运营/Operation
  
  客户案例
·巨丰达人减肥训练营
·成都写意经典家具有限公司
·成都卡姆士安防设备有限公司
·新千里装饰集团
·成都吕氏三才中医博爱堂
·泊菲特语言学校
·四川高地易景园林工程公司
·成都烽火建筑装饰设计有限公司
·优尼客酒店
·成都杜嘉机电有限公司
·菲颖1购
·成都安东尼体育文化传播有限公
·四川九章生物化工科技发展有限
·成都环球体育文化传播有限公司
·万友爱淘网上商城
·四川省斯博兰德建筑装饰设计有
·肥犇仔
·成都市猛追湾游泳场
  网站运营
·企业新站推广中存在的六大误区
·网站运营之八大要素
·怎么区别网站运营与网络运营
·怎样区分网站运营和网络运营
·SQL Server 200
·新网站运营后如何迅速增加网站
·减肥网站是怎样提高收入的
·个人网站赢利模式的拓展方向
·商业门户网站运营模式探讨
·成都地方门户网站运营模式
·网站策划人如何盈利
·网站运营模式观察与分析
  最新资讯
·成都网络推广公司介绍的六种推
·分析导致成都网络推广效果差的
·成都网站优化:企业网站关键词
·成都网站优化初期企业应该需要
·浅析成都网站优化中企业如何建
·分析企业在做成都网站优化过程
·短视频营销可以为成都网络推广
·小品牌怎么样才能既省钱又省力
·分析成都网络推广中企业需要注
·如何根据成都网络推广的营销周
·成都网站优化需要遵循哪些规则
·成都SEO网站优化过程中如何
 
   您的位置在:成都网站推广 > 网站知识 > 网站教程 /Tutorial > 正文
   网站教程 /Tutorial

js表单验证控制代码大全

[ 来源:中联无限科技有限公司   发布日期:2010/7/15 14:21:34 ]
目录: 1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字 、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能输入数字,判断数字、验证数字、检测数字、判断是否为数字、只能输入数字 5:只能输入英文字符和数字 6: js email验证 、js 判断email 、信箱/邮箱格式验证
 中联无限科技公司提供专业的成都网站建设成都网站设计成都网站制作成都网站推广

本人在网上加上自己经常用到的js表单验证现整理如下:

目录:
1:js 字符串长度限制、判断字符长度 、js限制输入、限制不能输入、textarea 长度限制
2.:js判断汉字、判断是否汉字 、只能输入汉字
3:js判断是否输入英文、只能输入英文
4:js只能输入数字,判断数字、验证数字、检测数字、判断是否为数字、只能输入数字
5:只能输入英文字符和数字
6: js email验证 、js 判断email 、信箱/邮箱格式验证
7:js字符过滤,屏蔽关键字
8:js密码验证、判断密码
2.1: js 不为空、为空或不是对象 、判断为空 、判断不为空
2.2:比较两个表单项的值是否相同
2.3:表单只能为数字和"_",
2.4:表单项输入数值/长度限定
2.5:中文/英文/数字/邮件地址合法性判断
2.6:限定表单项不能输入的字符
2.7表单的自符控制
2.8:form文本域的通用校验函数

1. 长度限制
<scrīpt>
function test()
{
if(document.a.b.value.length>50)
{
alert("不能超过50个字符!");
document.a.b.focus();
return false;
}
}
</scrīpt>
<form name=a ōnsubmit="return test()">
<textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea>
<input type="submit" name="Submit" value="check">
</form>

2. 只能是汉字
<input ōnkeyup="value="/oblog/value.replace(/[^\u4E00-\u9FA5]/g,'''')">

3." 只能是英文
<scrīpt language=javascrīpt>
function onlyEng()
{
if(!(event.keyCode>=65&&event.keyCode<=90))
event.returnvalue=false;
}
</scrīpt>

<input ōnkeydown="onlyEng();">

4. 只能是数字
<scrīpt language=javascrīpt>
function onlyNum()
{
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
//考虑小键盘上的数字键
event.returnvalue=false;
}
</scrīpt>

<input ōnkeydown="onlyNum();">

5. 只能是英文字符和数字
<input ōnkeyup="value="/oblog/value.replace(/[\W]/g,"'''') "onbeforepaste="clipboardData.setData(''text'',clipboardData.getData(''text'').replace(/[^\d]/g,''''))">

6. 验证油箱格式
<scrīpt LANGUAGE=javascrīpt RUNAT=Server>
function isEmail(strEmail) {
if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
return true;
else
alert("oh");
}
</scrīpt>
<input type=text ōnblur=isEmail(this.value)>

7. 屏蔽关键字(这里屏蔽***和****)
<scrīpt language="javascrīpt1.2">
function test() {
if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){
alert(":)");
a.b.focus();
return false;}
}
</scrīpt>
<form name=a ōnsubmit="return test()">
<input type=text name=b>
<input type="submit" name="Submit" value="check">
</form>

8. 两次输入密码是否相同
<FORM METHOD=POST ACTION="">
<input type="password" id="input1">
<input type="password" id="input2">
<input type="button" value="test" ōnclick="check()">
</FORM>
<scrīpt>
function check()
{
with(document.all){
if(input1.value!=input2.value)
{
alert("false")
input1.value = "";
input2.value = "";
}
else document.forms[0].submit();
}
}
</scrīpt>
够了吧 :)
屏蔽右键 很酷
oncontextmenu="return false" ōndragstart="return false" ōnselectstart="return false"
加在body中

2.1  表单项不能为空

<scrīpt  language="javascrīpt">
<!--
function  CheckForm()
{
if  (document.form.name.value.length  ==  0)  {
alert("请输入您姓名!");
document.form.name.focus();
return  false;
}
return  true;
}
-->
</scrīpt>

2.2  比较两个表单项的值是否相同

<scrīpt  language="javascrīpt">
<!--
function  CheckForm()
if  (document.form.PWD.value  !=  document.form.PWD_Again.value)  {
alert("您两次输入的密码不一样!请重新输入.");
document.ADDUser.PWD.focus();
return  false;
}
return  true;
}
-->
</scrīpt>

2.3  表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等

<scrīpt  language="javascrīpt">
<!--
function  isNumber(String)
{
var  Letters  =  "1234567890-";  //可以自己增加可输入值
var  i;
var  c;
if(String.charAt(  0  )==''-'')
return  false;
if(  String.charAt(  String.length  -  1  )  ==  ''-''  )
return  false;
for(  i  =  0;  i  <  String.length;  i  ++  )
{
c  =  String.charAt(  i  );
if  (Letters.indexOf(  c  )  <  0)
return  false;
}
return  true;
}
function  CheckForm()
{
if(!  isNumber(document.form.TEL.value))  {
alert("您的电话号码不合法!");
document.form.TEL.focus();
return  false;
}
return  true;
}
-->
</scrīpt>


2.4  表单项输入数值/长度限定

<scrīpt  language="javascrīpt">
<!--
function  CheckForm()
{
if  (document.form.count.value  >  100  ||  document.form.count.value  <  1)
{
alert("输入数值不能小于零大于100!");
document.form.count.focus();
return  false;
}
if  (document.form.MESSAGE.value.length<10)
{
alert("输入文字小于10!");
document.form.MESSAGE.focus();
return  false;
}
return  true;
}
//-->
</scrīpt>

2.5  中文/英文/数字/邮件地址合法性判断

<scrīpt  LANGUAGE="javascrīpt">
<!--

function  isEnglish(name)  //英文值检测
{
if(name.length  ==  0)
return  false;
for(i  =  0;  i  <  name.length;  i++)  {
if(name.charCodeAt(i)  >  128)
return  false;
}
return  true;
}

function  isChinese(name)  //中文值检测
{
if(name.length  ==  0)
return  false;
for(i  =  0;  i  <  name.length;  i++)  {
if(name.charCodeAt(i)  >  128)
return  true;
}
return  false;
}

function  isMail(name)  //  E-mail值检测
{
if(!  isEnglish(name))
return  false;
i  =  name.indexOf("  at  ");
j  =  name  dot  lastIndexOf("  at  ");
if(i  ==  -1)
return  false;
if(i  !=  j)
return  false;
if(i  ==  name  dot  length)
return  false;
return  true;
}

function  isNumber(name)  //数值检测
{
if(name.length  ==  0)
return  false;
for(i  =  0;  i  <  name.length;  i++)  {
if(name.charAt(i)  <  "0"  ||  name.charAt(i)  >  "9")
return  false;
}
return  true;
}

function  CheckForm()
{
if(!  isMail(form.Email.value))  {
alert("您的电子邮件不合法!");
form.Email.focus();
return  false;
}
if(!  isEnglish(form.name.value))  {
alert("英文名不合法!");
form.name.focus();
return  false;
}
if(!  isChinese(form.cnname.value))  {
alert("中文名不合法!");
form.cnname.focus();
return  false;
}
if(!  isNumber(form.PublicZipCode.value))  {
alert("邮政编码不合法!");
form.PublicZipCode.focus();
return  false;
}
return  true;
}
//-->
</scrīpt>

2.6  限定表单项不能输入的字符

<scrīpt  language="javascrīpt">
<!--

function  contain(str,charset)//  字符串包含测试函数
{
var  i;
for(i=0;i<charset.length;i++)
if(str.indexOf(charset.charAt(i))>=0)
return  true;
return  false;
}

function  CheckForm()
{
if  ((contain(document.form.NAME.value,  "%\(\)><"))  ||  (contain(document.form.MESSAGE.value,  "%\(\)><")))
{
alert("输入了非法字符");
document.form.NAME.focus();
return  false;
}
return  true;
}
//-->
</scrīpt>

1. 检查一段字符串是否全由数字组成     
---------------------------------------     
<scrīpt language="Javascrīpt"><!--         
function checkNum(str){return str.match(/\D/)==null}         
alert(checkNum("1232142141"))         
alert(checkNum("123214214a1"))         
// --></scrīpt>       
    
2. 怎么判断是否是字符       
---------------------------------------     
if (/[^\x00-\xff]/g.test(s)) alert("含有汉字");        
else alert("全是字符");    
         
3. 怎么判断是否含有汉字      
---------------------------------------      
if (escape(str).indexOf("%u")!=-1) alert("含有汉字");       
else alert("全是字符");         
  
4. 邮箱格式验证  
---------------------------------------    
//函数名:chkemail   
//功能介绍:检查是否为Email Address   
//参数说明:要检查的字符串   
//返回值:0:不是 1:是   
function chkemail(a)   
{ var i=a.length;   
var temp = a.indexOf(''@'');   
var tempd = a.indexOf(''.'');   
if (temp > 1) {   
if ((i-temp) > 3){   
if ((i-tempd)>0){   
return 1;   
}   
  
}   
}   
return 0;   
}   
  
5. 数字格式验证  
---------------------------------------    
//函数名:fucCheckNUM   
//功能介绍:检查是否为数字   
//参数说明:要检查的数字   
//返回值:1为是数字,0为不是数字   
function fucCheckNUM(NUM)   
{   
var i,j,strTemp;   
strTemp="0123456789";   
if ( NUM.length== 0)   
return 0   
for (i=0;i<NUM.length;i++)   
{   
j=strTemp.indexOf(NUM.charAt(i));   
if (j==-1)   
{   
//说明有字符不是数字   
return 0;   
}   
}   
//说明是数字   
return 1;   
}   
  
6. 电话号码格式验证  
---------------------------------------    
//函数名:fucCheckTEL   
//功能介绍:检查是否为电话号码   
//参数说明:要检查的字符串   
//返回值:1为是合法,0为不合法   
function fucCheckTEL(TEL)   
{   
var i,j,strTemp;   
strTemp="0123456789-()# ";   
for (i=0;i<TEL.length;i++)   
{   
j=strTemp.indexOf(TEL.charAt(i));   
if (j==-1)   
{   
//说明有字符不合法   
return 0;   
}   
}   
//说明合法   
return 1;   
}  
 
7. 判断输入是否为中文的函数 
---------------------------------------    
function ischinese(s){ 
var ret=true; 
for(var i=0;i<s.length;i++) 
ret=ret && (s.charCodeAt(i)>=10000); 
return ret; 
}  
 
8. 综合的判断用户输入的合法性的函数
---------------------------------------    
<scrīpt language="javascrīpt">
//限制输入字符的位数开始
//m是用户输入,n是要限制的位数
function issmall(m,n)
{
if ((m<n) && (m>0))
  {
  return(false);
  }
else
{return(true);}
}
 
9. 判断密码是否输入一致
---------------------------------------    
function issame(str1,str2)
{
if (str1==str2)
{return(true);}
else
{return(false);}
}
 
10. 判断用户名是否为数字字母下滑线
---------------------------------------    
function notchinese(str){
var reg=/[^A-Za-z0-9_]/g
    if (reg.test(str)){
    return (false);
    }else{
return(true);    }
}

2.8. form文本域的通用校验函数
---------------------------------------    
作用:检测所有必须非空的input文本,比如姓名,账号,邮件地址等等。
该校验现在只针对文本域,如果要针对form里面的其他域对象,可以改变判断条件。

使用方法:在要检测的文本域中加入title文字。文字是在提示信息,你要提示给用户的该字段的中文名。比如要检测用户名
html如下<input name="txt_1" title="姓名">,当然,最好用可视化工具比如dreamweaver什么的来编辑域。
如果要检测数字类型数据的话,再把域的id统一为sz.
javascrīpt判断日期类型比较麻烦,所以就没有做日期类型校验的程序了.高手可以补充。

程序比较草,只是提供一个思路。抛砖引玉! :)
哦,对了,函数调用方法:< form  ōnsubmit="return dovalidate()">

function dovalidate()
{
fm=document.forms[0] //只检测一个form,如果是多个可以改变判断条件
    for(i=0;i<fm.length;i++)
    {
    //检测判断条件,根据类型不同可以修改
    if(fm[i].tagName.toUpperCase()=="INPUT" &&fm[i].type.toUpperCase()=="TEXT" && (fm[i].title!=""))
  
         if(fm[i].value="/blog/="")//
         {
         str_warn1=fm[i].title+"不能为空!";
         alert(str_warn1);
        fm[i].focus();
         return false;       
         }
         if(fm[i].id.toUpperCase()=="SZ")//数字校验
         {
                 if(isNaN(fm[i].value))
                { str_warn2=fm[i].title+"格式不对";
                alert(str_warn2);
                fm[i].focus();
                 return false;
                 }
        }
    }
    return true;
}

中联无限科技公司提供专业的成都网站建设成都网站设计成都网站制作成都网站推广


上一篇:单向链接对SEO意义和价值
下一篇:SEO教程:关于网站快照问题大全
   相关网站教程 /Tutorial
·SEO之如何更好的布局?2011-08-11
·Ajax2011-05-26
·JSP的定义2011-05-26
·PHP是什么2011-05-26
·CSS教程:CSS背景全攻略2011-03-26
·javascript cookies 存2011-03-25
·网站外部链接的注意事项2011-03-24
·PHP防御木马攻击的技巧2011-03-11
·Apache服务器的配置与管理2011-03-11
·SQL Server数据库查询优化的常用2011-03-09
·SQL Server触发器2011-03-09
·ASP.NET JMAIL 发送邮件方法2011-03-09
首页 | 公司简介 |联系方式 |付款方式 |人才招聘 | 域名空间 | 网页设计案例 | 网站知识 | 解决方案 | 建站指南 | 网站地图
地址:成都市青羊区西大街1号   邮编:610041   E- Mail:619027769@qq.com   代理合作: 028-86637122
网站建设/推广咨询:028-86637122  86618860  传真:028-86637322   
成都中联无限科技有限公司 2004-2014    蜀ICP备05017733号