JavaScript常用验证函数实例汇总


Posted in Javascript onNovember 25, 2014

本文实例汇总了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("123");

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>

9. 屏蔽右键 很酷!

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

加在body中

二、表单验证

1 表单项不能为空

<script language="javascript">

<!--

function CheckForm()

{  

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

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

document.form.name.focus();

return false;

}

return true;

}

-->

</script>

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>

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>

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>

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>

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.tagName.toUpperCase()=="INPUT" &&fm.type.toUpperCase()=="TEXT" && (fm.title!=""))

    

   if(fm.value="/blog/="")//

   {

   str_warn1=fm.title+"不能为空!";

   alert(str_warn1);

  fm.focus();

   return false;    

   }

   if(fm.id.toUpperCase()=="SZ")//数字校验

   {

 if(isNaN(fm.value))

{ str_warn2=fm.title+"格式不对";

alert(str_warn2);

fm.focus();

 return false;

 }

  }

   }

   return true;

}

12. 验证radio是否选择

<script language="javascript">

function checkform(obj)

{

for(i=0;i<obj.oo.length;i++)

if(obj.oo[i].checked==true) return true;
alert("请选择")

return false;  
}

</script>

<form id="form1" name="form1" method="post" action=""    onsubmit="return checkform(this)">

    <input type="radio" name="oo" value="radiobutton" />

    <input type="radio" name="oo" value="radiobutton" />

    <input type="submit" name="Submit" value="提交" />

</form>

希望本文所述对大家基于javascript的web程序设计有所帮助。

Javascript 相关文章推荐
jquery下操作HTML控件的实现代码
Jan 12 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
Oct 20 Javascript
jquery.cookie() 方法的使用(读取、写入、删除)
Dec 05 Javascript
JavaScript中eval()函数用法详解
Dec 14 Javascript
基于JavaScript实现弹出框效果
Feb 19 Javascript
javascript中FOREACH数组方法使用示例
Mar 01 Javascript
bootstrap日历插件datetimepicker使用方法
Dec 14 Javascript
使用canvas及js简单生成验证码方法
Apr 02 Javascript
使用JQ完成表格隔行换色的简单实例
Aug 25 Javascript
Vue.js实现数据响应的方法
Aug 13 Javascript
VUE组件中的 Drawer 抽屉实现代码
Aug 06 Javascript
JavaScript 中的无穷数(Infinity)详解
Feb 13 Javascript
JavaScript导出Excel实例详解
Nov 25 #Javascript
JS倒计时代码汇总
Nov 25 #Javascript
jquery中push()的用法(数组添加元素)
Nov 25 #Javascript
Jquery焦点图实例代码
Nov 25 #Javascript
jQuery事件绑定和委托实例
Nov 25 #Javascript
2014最热门的JavaScript代码高亮插件推荐
Nov 25 #Javascript
JS跨域问题详解
Nov 25 #Javascript
You might like
ThinkPHP提交表单时默认自动转义的解决方法
2014/11/25 PHP
php通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
php判断两个日期之间相差多少个月份的方法
2015/06/18 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
表格单元格交错着色实现思路及代码
2013/04/01 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
原生JavaScript实现进度条
2021/02/19 Javascript
详解Python中的文本处理
2015/04/11 Python
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
pandas中ix的使用详细讲解
2020/03/09 Python
Python爬虫之Selenium鼠标事件的实现
2020/12/04 Python
国际奢侈品品牌童装购物网站:Designer Childrenswear
2019/05/08 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
护士实习鉴定范文
2013/12/22 职场文书
酒后驾车标语
2014/06/30 职场文书
会计人员演讲稿
2014/09/11 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
科技活动周标语
2014/10/08 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
2016大一新生军训心得体会
2016/01/11 职场文书
让文件路径提取变得更简单的Python Path库
2021/05/27 Python
python关于集合的知识案例详解
2021/05/30 Python