该示例检查从文本窗口部件中获取姓名和电话号码这两个表单数据的有效性。当文本框中的值发生变化时,即引发一个change事件,从而可以调用一个函数来检查这两个输入值的格式是否正确。

validator.html源代码如下

<!DOCTYPE html>
<html>
  <head>
    <title>validator.html</title>
    
    <meta name="keywords" content="keyword1,keyword2,keyword3">
    <meta name="description" content="this is my page">
    <meta name="content-type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
    <script type="text/javascript" src="validator.js"></script>
  </head>
 
  <body>
    <h3>Customer Infomation</h3>
    <form action="">
        <p>
            <label>
                <input type="text" id="custName"/>name(last name,first name,middle initial)
            </label>
            <br/><br/>
            <label>
                <input type="text" id="phone"/>phone number(ddd-ddd-dddd)
            </label>
            <br/><br/>
            <input type="reset" id="reset"/>
            <input type="submit" id="submit"/>
        </p>
    </form>
    <script type="text/javascript" src="validatorr.js"></script>
  </body>
</html>

validator.js源代码如下:

function chkName(){
    var myName=document.getElementById("custName");
    var pos=myName.value.search(/^[A-Z][a-z]+,?[A-Z][a-z]+,?[A-Z]\.?$/);
    if(pos!=0){
        alert("The name you entered ("+myName.value+") is not in the correct form. \n"+
                "The correct form is:"+"last-name,first-name,middle-initial \n"+
                "Please go back and fix your name");
        return false;
    }else{
        return true;
    }
}
function chkPhone(){
    var myPhone=document.getElementById("phone");
    var pos=myPhone.value.serch(/^\d{3}-\d{3}-\d{4}$/);
    if(pos!=0){
        alert("The phone number you entered ("+myPhone.value+") is not in the correct form. \n"+
                "The correct form is:ddd-ddd-dddd \n"+
                "Please go back and fix your phone number");
        return false;
    }else{
        return true;
    }
}

validatorr.js源代码如下:

document.getElementById("custName").onchange=chkName;
document.getElementById("phone").onchange=chkPhone;

程序界面如下:

JavaScript个人学习记录总结(二)——验证表单输入之模式匹配的更多相关文章

  1. ng2 学习笔记(二)表单及表单验证

    在上一篇文章中提到了表单,只说了表单的数据绑定,这一篇文章主要讲一下表单验证,为什么把表单单独拿出来学习,主要是因为,表单是商业应用的支柱,我们用它来执行登录.求助.下单.预订机票.安排会议,以及不计 ...

  2. 前端MVC Vue2学习总结(五)——表单输入绑定、组件

    一.表单输入绑定 1.1.基础用法 你可以用 v-model 指令在表单控件元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素.尽管有些神奇,但 v-model 本质上不过是语法糖, ...

  3. Vue学习计划基础笔记(五) - 表单输入绑定、组件基础

    表单输入绑定.组件基础 目标: 熟练掌握vue中表单的处理方式 对之前学习的内容简单回顾一下,并写一个实例,学以致用(最好脱离文档) vue中表单的处理方式 vue中表单的处理使用了v-model指令 ...

  4. jquery-mobile 学习笔记之二(表单创建)

    绪上 一.注意事项 1. <form> 元素必须设置 method 和 action 属性 2. 每一个表单元素必须设置唯一的 "id" 属性. 该 id 在网站的页面 ...

  5. html学习记录之表格、表单基础

    ①编码:charset="utf-8": ​②描述及关键词:name="description":name="keywords": ③a标签 ...

  6. JavaScript---通过正则表达式验证表单输入

    验证输入的name只能是数字或字母或下划线 js <script type="text/javascript"> function submitOn(){ var f ...

  7. Go-Web编程_表单_0x02_验证表单的输入

    开发Web的一个原则就是,不能信任用户输入的任何信息,所以验证和过滤用户的输入信息就变得非常重要,我们经常会在微博.新闻中听到某某网站被入侵了,存在什么漏洞,这些大多是因为网站对于用户输入的信息没有做 ...

  8. angular学习笔记(二十)-表单验证

    本篇主要介绍angular中的表单验证: 表单验证主要有以下一些内容: 1. required指令: 相当于html5的required属性,验证不能为空 2. ng-maxlength属性: 验证内 ...

  9. Lua和C++交互 学习记录之二:栈操作

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...

随机推荐

  1. Jquery easyui datagrid 导出Excel

    From:http://www.cnblogs.com/weiqt/articles/4022399.html datagrid的扩展方法,用于将当前的数据生成excel需要的内容. 1 <sc ...

  2. SQL中 char、varchar、text 和 nchar、nvarchar、ntext的区别

    1.char.char存储定长数据很方便,char字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间.             2.va ...

  3. primitive数据类型

    /*primitive数据类型 *primitive主要是用来存储原始的数据 *boolean\byte\short\int\long\double **/public class Shujuleix ...

  4. 简单的两数之和再次乱入<< Add Two Numbers >>

    请看题目描述: You are given two linked lists representing two non-negative numbers. The digits are stored ...

  5. JS学习第一课

    1.js 按照编写顺序执行 2.输出使用document.write. 3.申明数组 var array = [1,2,3,5] ;  var arrStr = ["sgsg",& ...

  6. IT人才最容易犯的17个错误--人生警言

    转载 记得刚参加工作时(那是97年),中国的IT刚刚兴起,那时,作为一个IT人士是一件很光荣的事,而那时的我正在做电气和电子相关的工作.99年第一次跳槽,进入了IT行业做软件开发.至今,中国的IT已经 ...

  7. 子线程简单实现(ZT)

    4.0以后的android在主线程中不可以直接访问网络,就得用以下的方法来搞,嘿嘿 在主函数中发送一个空的消息 : new Thread(){ @Override public void run()  ...

  8. 日历控件修改的JS代码

    var bMoveable=true; var _VersionInfo=" " ; //============================================= ...

  9. iOS数据持久化

    在iOS中,实现数据持久化一般分为4大种: 1.属性列表 2.对象归档 3.SQLite 4.Core Data 一.属性列表 NSUserDefaults类的使用和NSKeyedArchiver有很 ...

  10. Egret

    http://www.manew.com/forum-html5Engine-1.html http://www.manew.com/forum-html5Engine-1.html https:// ...