28个JS验证函数收集


Posted in Javascript onMarch 02, 2010

JS验证函数的调用方法和注意:
1.给表单设置onsubmit="return test()",配合<input type="submit" name="Submit" value="check"> 进行提交.
2.<input type=text onkeydown="test();"> //当鼠标按下直接调用函数验证
3.<input type=text onblur="testl(this.value)"> //传入自己的值进行验证,test(this)//传入对象本身进行验证
4.<input type="button" value="test" onclick="test()"> //单击Btn进行验证,如果通过则用document.forms[0].submit(); 进行表单提交
5.<input onClick="return test();" type="submit" name="submit" value=" 提交信息 ">//使用submit进行提交验证,如果test中return false;则不提交返true提交.
6.<script type="javascript">....function test(){...return false;...}...</script>
7.||与,&&或,!非
8.常用事件:onblur失去焦点,onchange失去焦点并且内容发生改变,onfocus元素获得焦点,onreset当表单中RESET的属性被激发时,onsubmit表单被提交时触发此事件
9.验证正则表达式:if(/^[1-9]\d*$/.test(str))返回真则通过,FALSE通不通过
10.document.getElementById("ip").value//访问ID的值,document.form1.text1.value//通过name访问
11.<input onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能为空!')"> //执行单条正则验证例
验证函数:
<input type="text" name="text1" id="text1" onblur="test();" value="" />
1.字符长度限制
function test()
{
if(document.form1.text1.value.length>50)
{
alert("不能超过50个字符!");
document.form1.text1.focus();
return false;
}
}
2.只能是英文,字母或数字
function test()
{
if(!(event.keyCode>=65&&event.keyCode<=90))
{
alert("只能是英文!");
document.form1.text1.focus();
}
}
<input onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有错')"> //字母或数字
3.只能是数字
function test()
{
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) //考虑小键盘上的数字键
{
alert("只能是数字!");
document.form1.text1.focus();
}
}
或者
function test(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)
{
alert("只能是数字!");
return false;
}
}
//说明是数字
return true;
}
5.验证邮箱(正则,函数)
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("格式错误!");
}
function isEmail() {
if (document.userinfo.useremail.value.charAt(0)=="." ||
document.userinfo.useremail.value.charAt(0)=="@"||
document.userinfo.useremail.value.indexOf('@', 0) == -1 ||
document.userinfo.useremail.value.indexOf('.', 0) == -1 ||
document.userinfo.useremail.value.lastIndexOf("@")==document.userinfo.useremail.value.length-1 ||
document.userinfo.useremail.value.lastIndexOf(".")==document.userinfo.useremail.value.length-1)
{
alert("Email地址格式不正确!");
document.userinfo.useremail.focus();
return false;
}
}
<input type="text" onblur="isEmail(this.value);" name="text1" />
6.屏蔽关键字(这里屏蔽***和****)
function test() {
if((document.form1.text1.value.indexOf ("***") == 0)||(document.form1.text1.value.indexOf ("****") == 0)){
alert("存在关键字");
document.form1.text1.focus();
return false;
}
}
7.比较两次输入是否相同
if(document.userinfo.userpassword.value != document.userinfo.userpassword1.value) {
document.userinfo.userpassword.focus();
document.userinfo.userpassword.value = '';
document.userinfo.userpassword1.value = '';
alert("两次输入的密码不同,请重新输入!");
return false;
}
8.判断是否为空或空格组成
function test(){
if(checkspace(document.form1.text1.value)) {
document.form1.text1.focus();
alert("为空或包含空格组成!");
return false;
}
}
function checkspace(checkstr) {
var str = '';
for(i = 0; i < checkstr.length; i++) {
str = str + ' ';
}
return (str == checkstr);
}
或者:
<input onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert('不能为空!')"> //执行单条正则验证例
9. 验证是否是数字电话,只能是数字和-
正则:\d{3}-\d{8}|\d{4}-\d{7}
function istel(elem) {
var str=elem.value;
var oneDecimal=false;
var oneChar=0;
str=str.toString( );
for (var i=0; i<str.length; i++) {
oneChar=str.charAt(i).charCodeAt(0);
if(oneChar==45){ continue; }
if(oneChar<48 || oneChar > 57) {
alert("此项只能输入数字和'-'号.");
return false;
}
}
return true;
}
或者
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)
{
alert("此项只能输入数字和'-'号.");
return false;
}
}
//说明合法
return true;
}
或者
//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function isTel(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
或者
要求:

(1)电话号码由数字、"("、")"和"-"构成

(2)电话号码为3到8位

(3)如果电话号码中包含有区号,那么区号为三位或四位

(4)区号用"("、")"或"-"和其他部分隔开

(5)移动电话号码为11或12位,如果为12位,那么第一位为0

(6)11位移动电话号码的第一位和第二位为"13"

(7)12位移动电话号码的第二位和第三位为"13"

根据这几条规则,可以与出以下正则表达式:

(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)
function PhoneCheck(s) {
var str=s;
var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/
alert(reg.test(str));
}
<input type="text" name="text1" onblur="istel(this);" />
10.//当opt2为1时检查num是否是负数//当opt1为1时检查num是否是小数//返回1是正确的,0是错误的
function chknbr(num,opt1,opt2)
{
var i=num.length;
var staus;
//staus用于记录.的个数
status=0;
if ((opt2!=1) && (num.charAt(0)=='-'))
{
alert("You have enter a invalid number.");
return 0;
}
//当最后一位为.时出错
if (num.charAt(i-1)=='.')
{
alert("You have enter a invalid number.");
return 0;
}
for (j=0;j<i;j++)
{
if (num.charAt(j)=='.')
{
status++;
}
if (status>1)
{
alert("You have enter a invalid number.");
return 0;
}
if (num.charAt(j)<'0' || num.charAt(j)>'9' )
{
if (((opt1==0) || (num.charAt(j)!='.')) && (j!=0))
{
alert("You have enter a invalid number.");
return 0;
}
}
}
return 1;
}
11.检查是否数字或字母组成的串
function test(str)
{
var strSource ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var ch;
var i;
var temp;
for (i=0;i<=(str.length-1);i++)
{
ch = str.charAt(i);
temp = strSource.indexOf(ch);
if (temp==-1)
{
alert("格式不正确!");
return false;
}
}
if (strSource.indexOf(ch)==-1)
{
alert("格式不正确!");
return false;
}
else
{
return true;
}
}
12.数字验证
正整数验证^[1-9]\d*$,负整数验证^-[1-9]\d*$ ,整数^-?[1-9]\d*$,非负整数^[1-9]\d*|0$,非正正数^-[1-9]\d*|0$,浮点数^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
function test(str){
if(/^[1-9]\d*$/.test(str))
{
alert("格式不能!");
return false;
}
else
{
return true;
}
}
13.身份证
正则:\d{15}|\d{18}
14.IP地址
正则:\d+\.\d+\.\d+\.\d+
15.邮政编码
正则:[1-9]\d{5}(?!\d)
function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}
16.QQ号
正则:[1-9][0-9]{4,}
17.HTML标记
正则:\d{3}-\d{8}|\d{4}-\d{7}
18.是否有效的颜色值
function IsColor(color){
var temp=color;
if (temp=="") return true;
if (temp.length!=7) return false;
return (temp.search(/\\#[a-fA-F0-9]{6}/) != -1);
}
19.是否有效的链接
function IsURL(url){
var sTemp;
var b=true;
sTemp=url.substring(0,7);
sTemp=sTemp.toUpperCase();
if ((sTemp!="HTTP://")||(url.length<10)){
b=false;
}
return b;
}
20.是否有效的手机号码
function IsMobile(_str){
var tmp_str = trim(_str);
var pattern = /13\\d{9}/;
return pattern.test(tmp_str);
}
或者
//校验手机号码:必须以数字开头,除数字外,可含有“-”
function IsMobile(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
21.IP地址和身份证号验证(正则)
function checkIP()
{
obj=document.getElementById("ip").value
//ip地址
//var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
//身份证
//var exp=/\b(((?!\d\d\d)\d+|1\d\d|2[0-4]\d|25[0-5])(\b|\.)){4}/
//var exp=/^(\d{15}|\d{17}[x0-9])/
//var exp=/^([\d]{15}|[\d]{18}|[\d]{17}[x|X])$/
var reg = obj.match(exp);
if(reg==null)
{
alert("IP地址不合法!");
}
else
{
alert("IP地址合法!");
}
}
22.校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
23.校验用户姓名:只能输入1-30个以字母开头的字串
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}
24.校验密码:只能输入6-20个字母、数字、下划线
function isPasswd(s)
{
var patrn=/^(\w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}
25.日期时间类
短时间,形如 (13:04:06)
function isTime(str)
{
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null) {alert('输入的参数不是时间格式'); return false;}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
alert("时间格式不对");
return false
}
return true;
}
短日期,形如 (2003-12-05)
function strDateTime(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false;
var d= new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
长时间,形如 (2003-12-05 13:04:06)
function strDateTime(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
26.判断字符全部由a-Z或者是A-Z的字字母组成
<input onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有错')">
27.判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
<input onblur="if(/^([a-zA-z_]{1})([\w]*)$/g.test(this.value))alert('有错')">
28.表单的值不能为空,不能超过imax字符,不能少于imix字符,输入为中文判断
function isNull(elem){
//var pattern=/^\s+|\s+$/;
if(elem.replace(/(^\s+|\s$)/g, "")==""){
return false;
}else{
return true;
}
}
function imax(elem){
if(elem.length>imax){
return false;
}else{
return true;
}
}
function imix(elem){
if(elem.lengthreturn false;
}else{
return true;
}
}
function isChinese(elem){
var pattern=/[^\x00-\xff]/g;
if(pattern.test(elem)){
//包含中文
return false;
}else{
//不包含中文
return true;
}
}

Javascript 相关文章推荐
新浪中用来显示flash的函数
Apr 02 Javascript
script标签属性type与language使用选择
Dec 02 Javascript
js实时获取系统当前时间实例代码
Jun 28 Javascript
jQuery页面加载初始化常用的三种方法
Jun 04 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
Sep 02 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
Aug 06 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
Dec 31 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
Jul 14 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
Dec 14 Javascript
jQuery插件ajaxFileUpload使用详解
Jan 10 Javascript
解决vue里碰到 $refs 的问题的方法
Jul 13 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
Aug 16 Javascript
用js脚本控制asp.net下treeview的NodeCheck的实现代码
Mar 02 #Javascript
javascript 静态对象和构造函数的使用和公私问题
Mar 02 #Javascript
新老版本juqery获取radio对象的方法
Mar 01 #Javascript
几个比较经典常用的jQuery小技巧
Mar 01 #Javascript
基于JQuery的密码强度验证代码
Mar 01 #Javascript
Jquery下的26个实用小技巧(jQuery tips, tricks &amp; solutions)
Mar 01 #Javascript
基于jquery.Jcrop的头像编辑器
Mar 01 #Javascript
You might like
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
从零开始学习jQuery (六) jquery中的AJAX使用
2011/02/23 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
2012/10/15 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
2012/11/24 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
2016/02/15 Javascript
Angular 页面跳转时传参问题
2016/08/01 Javascript
Vue计算属性的使用
2017/08/04 Javascript
AngularJS集合数据遍历显示的实例
2017/12/27 Javascript
vue中子组件调用兄弟组件方法
2018/07/06 Javascript
浅谈vue.use()方法从源码到使用
2019/05/12 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
python获取网页状态码示例
2014/03/30 Python
详解Python中for循环的使用
2015/04/14 Python
Python实现数据库编程方法详解
2015/06/09 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
python线程池threadpool实现篇
2018/04/27 Python
JupyterNotebook设置Python环境的方法步骤
2019/12/03 Python
基于Canvas+Vue的弹幕组件的实现
2019/07/23 HTML / CSS
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
关于Java String的一道面试题
2013/09/29 面试题
如何写毕业求职自荐信
2013/11/06 职场文书
自荐信怎么写好
2013/11/11 职场文书
经销商培训邀请函
2014/01/21 职场文书
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
客服部班长工作责任制
2014/02/25 职场文书
销售活动策划方案
2014/08/26 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
党员思想汇报材料
2014/12/19 职场文书