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 相关文章推荐
Javascript 自定义类型方法小结
Mar 02 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
Mar 03 Javascript
全面解析Bootstrap排版使用方法(文字样式)
Nov 30 Javascript
探索angularjs+requirejs全面实现按需加载的套路
Feb 26 Javascript
原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】
May 27 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
Dec 13 Javascript
vue拦截器实现统一token,并兼容IE9验证功能
Apr 26 Javascript
浅谈Webpack核心模块tapable解析
Sep 11 Javascript
从vue源码看props的用法
Jan 09 Javascript
Vue 使用beforeEach实现登录状态检查功能
Oct 31 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
Jun 19 Javascript
canvas实现贪食蛇的实践
Feb 15 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
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
document.all与WEB标准
2020/05/13 Javascript
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
jquery等待效果示例
2014/05/01 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
2015/12/07 Javascript
Angular实现购物车计算示例代码
2017/02/21 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
2019/07/19 Javascript
微信小程序页面调用自定义组件内的事件详解
2019/09/12 Javascript
新手入门js闭包学习过程解析
2019/10/08 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
[02:03]《现实生活中的DOTA2》—林书豪&DOTA2职业选手出演短片
2015/08/18 DOTA
使用python绘制人人网好友关系图示例
2014/04/01 Python
跟老齐学Python之使用Python查询更新数据库
2014/11/25 Python
Python实现的概率分布运算操作示例
2017/08/14 Python
机器学习python实战之手写数字识别
2017/11/01 Python
Python获取CPU、内存使用率以及网络使用状态代码
2018/02/08 Python
使用django-guardian实现django-admin的行级权限控制的方法
2018/10/30 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
美国知名的隐形眼镜电商:Contacts America
2019/11/19 全球购物
党员自我批评与反省材料
2014/02/10 职场文书
黄金酒广告词
2014/03/21 职场文书
安全演讲稿大全
2014/05/09 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
地陪导游欢迎词
2015/01/26 职场文书
元宵节晚会主持词
2015/07/01 职场文书
小学英语教师2015年度个人工作总结
2015/10/14 职场文书
2019年大学生职业生涯规划书最新范文
2019/03/25 职场文书
营销策划分析:怎么策划才能更好销量产品?
2019/09/04 职场文书
vue引入Excel表格插件的方法
2021/04/28 Vue.js
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android
Python内置数据结构列表与元组示例详解
2021/08/04 Python
mysql数据库实现设置字段长度
2022/06/10 MySQL