注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

家居装饰

让每一个人都拥有漂亮的舒服的家!

 
 
 

日志

 
 

javascript验证合法性   

2007-10-11 16:33:56|  分类: js |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

<script language="javascript">

<!--

function form1_onsubmit()

{

var urlreg=/^[a-za-z0-9]+\.[a-za-z0-9]+[\/=\?%\-&_~`@[\]\‘:+!]*([^<>\"\"])*$/

var url=document.form1.url.value

if (!urlreg.test(url))

    {

      alert("网址错误!")

      document.form1.url.focus()

      return false

     } 

}

-->

</script>

<form name="form1" method="post" action="" onsubmit="return form1_onsubmit()">

http://<input type="text" name="url" value="">

<input type="submit" name="submit" value="验证">

</form>

javascript验证表单大全

1. 长度限制

<script>

function test()

{

if(document.a.b.value.length>50)

{

alert("不能超过50个字符!");

document.a.b.focus();

return false;

}

}

</script>

<form name=a onsubmit="return test()">

<textarea name="b" cols="40" wrap="virtual" rows="6"></textarea>

<input type="submit" name="submit" value="check">

</form>

2. 只能是汉字

<input onkeyup="value="/oblog/value.replace(/[^\u4e00-\u9fa5]/g,‘‘)">

3." 只能是英文

<script language=javascript>

function onlyeng()

{

if(!(event.keycode>=65&&event.keycode<=90))

event.returnvalue=false;

}

</script>

<input onkeydown="onlyeng();">

4. 只能是数字

<script language=javascript>

function onlynum()

{

if(!((event.keycode>=48&&event.keycode<=57)||(event.keycode>=96&&event.keycode<=105)))

//考虑小键盘上的数字键

event.returnvalue=false;

}

</script>

<input onkeydown="onlynum();">

5. 只能是英文字符和数字

<input onkeyup="value="/oblog/value.replace(/[\w]/g,"‘‘) "onbeforepaste="clipboarddata.setdata(‘text‘,clipboarddata.getdata(‘text‘).replace(/[^\d]/g,‘‘))">

6. 验证油箱格式

<script language=javascript 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");

}

</script>

<input type=text onblur=isemail(this.value)>

7. 屏蔽关键字(这里屏蔽***和****)

<script language="javascript1.2">

function test() {

if((a.b.value.indexof ("***") == 0)||(a.b.value.indexof ("****") == 0)){

alert(":)");

a.b.focus();

return false;}

}

</script>

<form name=a onsubmit="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" onclick="check()">

</form>

<script>

function check()

{

with(document.all){

if(input1.value!=input2.value)

{

alert("false")

input1.value = "";

input2.value = "";

}

else document.forms[0].submit();

}

}

</script>

够了吧 :)

屏蔽右键 很酷

oncontextmenu="return false" ondragstart="return false" onselectstart="return false"

加在body中

2.1   表单项不能为空

<script   language="javascript">

<!--

function   checkform()

{  

if   (document.form.name.value.length   ==   0)   {  

alert("请输入您姓名!");

document.form.name.focus();

return   false;

}

return   true;

}

-->

</script>

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

<script   language="javascript">

<!--

function   checkform()

if   (document.form.pwd.value   !=   document.form.pwd_again.value)   {  

alert("您两次输入的密码不一样!请重新输入.");

document.adduser.pwd.focus();

return   false;

}

return   true;

}

-->

</script>

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

<script   language="javascript">

<!--

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;

}

-->

</script>

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

<script   language="javascript">

<!--

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;

}

//-->

</script>

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

<script   language="javascript">

<!--

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;

}

//-->

</script>

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

<script   language="javascript">

<!--

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;

}

//-->

</script>  

1. 检查一段字符串是否全由数字组成 

--------------------------------------- 

<script language="javascript"><!--     

function checknum(str){return str.match(/\d/)==null}     

alert(checknum("1232142141"))     

alert(checknum("123214214a1"))     

// --></script>   

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. 综合的判断用户输入的合法性的函数  

---------------------------------------

<script language="javascript">  

//限制输入字符的位数开始  

//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);     }

}

11. form文本域的通用校验函数

---------------------------------------

作用:检测所有必须非空的input文本,比如姓名,账号,邮件地址等等。

该校验现在只针对文本域,如果要针对form里面的其他域对象,可以改变判断条件。

使用方法:在要检测的文本域中加入title文字。文字是在提示信息,你要提示给用户的该字段的中文名。比如要检测用户名

html如下<input name="txt_1" title="姓名">,当然,最好用可视化工具比如dreamweaver什么的来编辑域。

如果要检测数字类型数据的话,再把域的id统一为sz.

javascript判断日期类型比较麻烦,所以就没有做日期类型校验的程序了.高手可以补充。

程序比较草,只是提供一个思路。抛砖引玉! :)

哦,对了,函数调用方法:< form   onsubmit="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;

}

2 >表单提交验证类

2.1 表单项不能为空

<script language="javascript">

<!--

function checkform()

{

if (document.form.name.value.length == 0) {

alert("请输入您姓名!");

document.form.name.focus();

return false;

}

return true;

}

-->

</script>

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

<script language="javascript">

<!--

function checkform()

if (document.form.pwd.value != document.form.pwd_again.value) {

alert("您两次输入的密码不一样!请重新输入.");

document.adduser.pwd.focus();

return false;

}

return true;

}

-->

</script>

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

<script language="javascript">

<!--

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;

}

-->

</script>

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

<script language="javascript">

<!--

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;

}

//-->

</script>

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

<script language="javascript">

<!--

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;

}

//-->

</script>

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

<script language="javascript">

<!--

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;

}

//-->

  评论这张
 
阅读(666)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018