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 相关文章推荐
php gethostbyname获取域名ip地址函数详解
Jan 24 Javascript
jQuery使用hide方法隐藏元素自身用法实例
Mar 30 Javascript
分享一些常用的jQuery动画事件和动画函数
Nov 27 Javascript
深入浅析AngularJS和DataModel
Feb 16 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
Oct 10 Javascript
vue.js利用Object.defineProperty实现双向绑定
Mar 09 Javascript
layui文件上传实现代码
May 20 Javascript
原生JS实现逼真的图片3D旋转效果详解
Feb 16 Javascript
vue 父组件中调用子组件函数的方法
Jun 06 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
May 28 Javascript
基于vue和bootstrap实现简单留言板功能
May 30 Javascript
H5 js点击按钮复制文本到粘贴板
Nov 19 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
PHP 数组排序方法总结 推荐收藏
2010/06/30 PHP
php switch语句多个值匹配同一代码块的实现
2014/03/03 PHP
php一个解析字符串排列数组的方法
2015/05/12 PHP
详解PHP执行定时任务的实现思路
2015/12/21 PHP
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
JavaScript也谈内存优化
2014/06/06 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
js 实现在2d平面上画8的方法
2018/10/10 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Pyramid添加Middleware的方法实例
2013/11/27 Python
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
Python实现文件复制删除
2016/04/19 Python
python 判断是否为正小数和正整数的实例
2017/07/23 Python
Python之dict(或对象)与json之间的互相转化实例
2018/06/05 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
2019/05/07 Python
python 监控logcat关键字功能
2020/09/04 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
TripAdvisor西班牙官方网站:全球领先的旅游网站
2018/01/10 全球购物
斯图尔特·韦茨曼鞋加拿大官网:Stuart Weitzman加拿大
2019/10/13 全球购物
最新大学生自我评价
2013/09/24 职场文书
职业生涯规划书的格式
2013/12/29 职场文书
自我鉴定四大框架
2014/01/17 职场文书
酒店中秋节活动方案
2014/01/31 职场文书
公司合作协议书范本
2014/04/18 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
2015年普法依法治理工作总结
2015/05/26 职场文书
红楼梦读书笔记
2015/06/25 职场文书
python3+PyQt5+Qt Designer实现界面可视化
2021/06/10 Python
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS
MySQL数据库 任意ip连接方法
2022/05/20 MySQL