(收藏)JS验证

 1 /*
 2    函数名:检验表单的函数
 3    作者:xuwen      日期:2007-2-10
 4    参数    _obj:验证的对象 type:验证的类型 errmsg:错误的提示信息 flag:焦点的状态
 5    表单失去焦点时调用:onblur=checkInput(this,'isUserName','用户名为数字,下划线组成',1)
 6    表单提交时调用:f1 = checkInput(frm.UserName,'isUserName','用户名为数字,下划线组成',1)
 7*/
 8    function checkInput(_obj,type,errmsg,flag){
 9    var reg;
10    var obj = $(_obj.id);
11    var info = $(_obj.id+"Info");
12    switch(type){
13    case 'isEmpty':
14        reg = /^\S+$/;
15        break;
16    case 'isEmail':
17        reg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
18        break;
19    case 'isPostCode':
20        reg = /^\d{6}$/;//国内的六位邮编格式
21        break;
22    case 'isTell':
23        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}$)/; //手机号码或区号-电话;
24        break;
25    case "isUserName":
26        reg = /^\w+$/;//字母开头,允许数字,字母和下划线
27        break;
28    case "isEnglish":
29        reg = /^[a-z]{3,20}$/;
30        break;
31    case "isNumber":
32        reg =/^[1-9]\d*$/;
33        break;
34    case "indexChar":
35        reg=/^[A-Z]$/
36        break;
37    case "isUrl":
38        reg=/^\S+$/;
39        break;
40    }
41    //提交表单或失去焦点进行验证
42    if(flag){
43        if(reg.test(trim(obj.value))==false){
44            info.innerHTML ="<font color='red'>× "+errmsg+"</font>";
45            return false;}
46        else{
47            info.innerHTML ="<font color='green'>√</font>";
48            return true;}
49    }
50    //获得焦点时进行提示
51    else{
52        info.innerHTML ="<font color='blue'>"+errmsg+"</font>";
53    }
54}
55function $(_id){
56    return document.getElementById(_id);
57}
58//去掉开始和结束的空格
59 function trim(string){    return  string.replace(/(^\s*)|(\s*$)/g,"");}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • silverlight寻奇 - Graphite

    Graphite是一个能自动布局的图表控件。 目前它已经有了silverlight 2 和 wpf的版本。观看demo时按下“Ctrl”键再做点击操作。 原文...

    用户1172164
  • Silverlight初级教程-动画

    Silverlight初级教程 动画 在这一节里将要用到在“认识工作区”中提到的时间抽了。这里将和学习flash的过程一样做一个最简单的动画。 ...

    用户1172164
  • Unity Application Block 1.2 for Silverlight - December 2008

    几个链接: – MSDN site: http://msdn.microsoft.com/en-us/library/dd362339.aspx – Commu...

    用户1172164
  • hdu---(4310)Hero(贪心算法)

    Hero Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java...

    Gxjun
  • 劳动最光荣!Double Letter Problem from TopCoder

    包子IT面试培训 助你拿到理想的offer! 这是TopCoder上面一道比较简单的250分的题目,非常适合作为面试的第一道热身题目,考察了面试者对于基本的数据...

    包子面试培训
  • 代理模式

    在 ES6 之前,通常使用 Object.defineProperty 这个方法:

    JS菌
  • 【小家java】java5新特性(简述十大新特性) 重要一跃

    所谓类型擦除指的就是Java源码中的范型信息只允许停留在编译前期,而编译后的字节码文件中将不再保留任何的范型信息。也就是说,范型信息在编译时将会被全部删除,其中...

    YourBatman
  • MATLAB矩阵及其运算(一)

    matlab矩阵的创建方式有如下几种:直接输入、读取外部数据、内置函数、M文件编程

    艾木樨
  • Tuning a Decision Tree model调试决策树模型

    If we use just the basic implementation of a Decision Tree, it will probably not...

    到不了的都叫做远方
  • Redis sort命令详解

    redis的sort命令,可能算得上redis里面最复杂的一个命令了,命令原型如下:

    九州暮云

扫码关注云+社区

领取腾讯云代金券