,六JavaScript之[Regular Expression]与[错误(try, catch, throw]

10】、正则表达式

 1 /**
 2 * 正则表达式(Regular Expression):
 3 *
 4 * 用于文本搜索和文本替换
 5 * */
 6 
 7 /**
 8 * /good/i是一个正则表达式。
 9 * good是一个模式(用于检索)
10 * i是一个修饰符(搜索不区分大小写)*/
11 var pattern = /good/i;
12 
13 //在JavaScript中,正则表达式通常用于两个字符串方法:search()和replace()
14 var str = 'You are so good.';
15 console.log(str.search(pattern));//11,返回子串的起始位置
16 
17 str.replace(pattern, 'sad');
18 console.log(str);//You are so good. 原字符串没变
19 console.log(str.replace(pattern, 'sad'));//You are so sad. 返回替换过的字符串

//更多参考Regular Expression手册:http://www.runoob.com/jsref/jsref-obj-regexp.html

11】、错误(try, catch, throw)

 1 /**
 2  * try 语句测试代码块的错误
 3  * catch 语句处理错误
 4  * throw 创建自定义错误
 5  *
 6  * JavaScript 错误
 7  当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误:
 8  可能是语法错误,通常是程序员造成的编码错误或错别字。
 9  可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。
10  可能是由于来自服务器或用户的错误输出而导致的错误。
11  当然,也可能是由于许多其他不可预知的因素。
12 
13  try 语句允许我们定义在执行时进行错误测试的代码块。
14  catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
15  JavaScript 语句 try 和 catch 是成对出现的。
16 
17  如果把 throw 与 try 和 catch 一起使用,能够控制程序流,并生成自定义的错误消息。
18  throw 放在try里面,自定义错误
19  * */
20 
21 try {
22     //在这里运行代码
23     alerts('aaa');//故意写错的,实际程序中可能出现各种未知错误
24 }catch(error){
25     //在这里处理错误
26     console.log(error.message); //alerts is not defined,打印出错误信息
27 }
28 
29 function test(){
30     try {
31         var num = document.getElementById('num').value;
32 
33         if(num == '') throw 'empty';//放在前面验证
34         if(isNaN(num)) throw 'not a number';//放在前面验证
35         if(num < 5) throw 'too low';
36         if(num > 10) throw 'too high';
37 
38     }catch(error) {
39         console.log(error);
40     }
41 }
42 
43 document.getElementById('myBtn').onclick = test;