JavaScript基础 JavaScript正则表达式

JS输出数据方法:

- 使用 window.alert() 弹出警告框。
- 使用 document.write() 方法将内容写到 HTML 文档中。
- 使用 innerHTML 写入到 HTML 元素。
- 使用 console.log() 写入到浏览器的控制台。
JS数据类型:

- var length = 16;                                  // Number 通过数字字面量赋值 
- var points = x * 10;                              // Number 通过表达式字面量赋值
- var lastName = "Johnson";                         // String 通过字符串字面量赋值
- var cars = ["Saab", "Volvo", "BMW"];              // Array  通过数组字面量赋值
- var person = {firstName:"John", lastName:"Doe"};  // Object 通过对象字面量赋值
以下是 HTML 事件的实例:

- HTML 页面完成加载
- HTML input 字段改变时
- HTML 按钮被点击
HTML时间列表:

- onchange      HTML 元素改变
- onclick       用户点击 HTML 元素
- onmouseover   用户在一个HTML元素上移动鼠标
- onmouseout    用户从一个HTML元素上移开鼠标
- onkeydown     用户按下键盘按键
- onload        浏览器已完成页面的加载
----------------------------------------------------------------------------------

特殊字符:

  \'    单引号
  \"    双引号
  \\    反斜杠
  \n    换行
  \r    回车
  \t    tab(制表符)
  \b    退格符
  \f    换页符
变量类型获取:

typeof
----------------------------------------------------------------------------------
typeof "JiaNan"   // 返回 string
typeof 3.14       // 返回 number
typeof false      // 返回 boolean
typeof [1, 2, 3]  // 返回 object
typeof {name: 'John', age:34} // 返回 object
typeof null  // 返回 object
typeof undefined   // 返回 undefined
字符串相关处理函数:

- charAt()              返回指定索引位置的字符
- charCodeAt()          返回指定索引位置字符的 Unicode 值
- concat()              连接两个或多个字符串,返回连接后的字符串
- fromCharCode()        将 Unicode 转换为字符串
- indexOf()             返回字符串中检索指定字符第一次出现的位置
- lastIndexOf()         返回字符串中检索指定字符最后一次出现的位置
- localeCompare()       用本地特定的顺序来比较两个字符串
- match()               找到一个或多个正则表达式的匹配
- replace()             替换与正则表达式匹配的子串
- search()              检索与正则表达式相匹配的值
- slice()               提取字符串的片断,并在新的字符串中返回被提取的部分
- split()               把字符串分割为子字符串数组
- substr()              从起始索引号提取字符串中指定数目的字符
- substring()           提取字符串中两个指定的索引号之间的字符
- toLocaleLowerCase()   根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
- toLocaleUpperCase()   根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
- toLowerCase()         把字符串转换为小写
- toString()            返回字符串对象值
- toUpperCase()         把字符串转换为大写
- trim()                移除字符串首尾空白
- valueOf()             返回某个字符串对象的原始值
for 循环:

var cars = ["A", "B", "C", "D"];
for (var i=0;i");
}
switch语句:

var day;
var d=new Date().getDay()
switch(d) {
    case 0:
        day = "星期天";
    break; 
    case 1:
        day = "星期一";
    break; 
    case 4:
        day = "星期四";
    break; 
}
Date相关函数:

- getDate()         从 Date 对象返回一个月中的某一天 (1 ~ 31)。
- getDay()          从 Date 对象返回一周中的某一天 (0 ~ 6)。
- getFullYear()     从 Date 对象以四位数字返回年份。
- getHours()        返回 Date 对象的小时 (0 ~ 23)。
- getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
- getMinutes()      返回 Date 对象的分钟 (0 ~ 59)。
- getMonth()        从 Date 对象返回月份 (0 ~ 11)。
- getSeconds()      返回 Date 对象的秒数 (0 ~ 59)。
- getTime()         返回 1970 年 1 月 1 日至今的毫秒数。

JS正则表达式:

JS中的正则表达式:

1、search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

2、replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
// [abc] 查找方括号之间的任何字符。包含其中一个即为true
var patt2 = /[zxcv]/;
var str2 = "1c2332z";
var b2 = patt2.test(str2);
console.log("[abc]正则测试" + b2)

// [^abc] 查找任何不在方括号之间的字符。
var patt3 = /[^zxcv]/;
//var str3 = "zxczzzzz"; // false 
var str3 = "zx"; // false 
//var str3 = "zxcv1"; // true 
var b3 = patt3.test(str3);
console.log("[^abc]正则测试" + b3)

// [0-9] 查找任何从 0 至 9 的数字。
var patt3 = /[2-3]|[6-8]/;
//var str3 = "5"; // false 
//var str3 = "a5"; // false
//var str3 = "3"; // true
var str3 = "7"; // true
var b3 = patt3.test(str3);
console.log("[0-9]正则测试" + b3)

// [a-z]     查找任何从小写 a 到小写 z 的字符。
var patt4 = /[a-f]/;
//var str4 = "az"; // true
//var str4 = "xzz"; // false
//var str4 = "xzacdz"; // true 
var str4 = "A"; // false 
var b4 = patt4.test(str4);
console.log("[a-z]正则测试" + b4);

// [A-Z]    查找任何从大写 A 到大写 Z 的字符。
// 示例同上

// [A-z]    查找任何从大写 A 到小写 z 的字符。
// 示例同上

// .    查找单个字符,除了换行和行结束符。 
/* g执行全局匹配;// 加g检索全局才结束,不加g检索到了就结束
 * i执行对大小写不敏感的匹配;
 * m执行多行匹配。*/
// match    找到一个或多个正则表达式的匹配。
/*
var patt5 = /a..c/g;
var str5 = "azdc";
*/
var patt5 = /a.c/;
//var str5 = "a1cz"; // true 
var str5 = "fdafa,a1c,"; // true
var b5 = patt5.test(str5);
var s5 = str5.match(patt5);
console.log(".正则测试" + b5 + "\n结果:" + s5);

// \w   查找单词字符。
var patt6 = /\w/;  // 结果b
var patt6 = /\w/g; // 结果b,c,d,1,2,3
var str6 = "bcd*(^123";
var b6 = patt6.test(str6);
var s6 = str6.match(patt6);
console.log("\w正则测试" + b6 + "\n结果:" + s6);

// \W   查找非单词字符。
var patt7 = /\W/;  // 结果*
var patt7 = /\W/g; // 结果*(^
var str7 = "bcd*(^123";
var b7 = patt7.test(str7);
var s7 = str7.match(patt7);
console.log("\W正则测试" + b7 + "\n结果:" + s7);

// \d   查找非单词字符。
var patt8 = /\d/;  // 结果1
var patt8 = /\d/g; // 结果123
var str8 = "bcd*(^123";
var b8 = patt8.test(str8);
var s8 = str8.match(patt8);
console.log("\d正则测试" + b8 + "\n结果:" + s8);

// \D   查找非数字字符。
// 参考上个示例

// \s   查找空白字符。 被检索字符串无空格b9=false,s9=null
var patt9 = /\s/;  // 结果 此处有一个空格
var patt9 = /\s/g; // 结果 , , 此处有三个空格
var str9 = "bcd* (^1  23";
var b9 = patt9.test(str9);
var s9 = str9.match(patt9);
console.log("\s正则测试" + b9 + "\n结果:" + s9);

// \S   查找非空白字符。
// 参考上个示例

// \b   匹配单词边界。
//var patt10 = /\bbc/;  // s10=null
var patt10 = /\Bzbbc/g;  // s10=zbbc
var str10 = "abc zbbc";
var b10 = patt10.test(str10);
var s10 = str10.match(patt10);
console.log("\\b正则测试" + b10 + "\n结果:" + s10);

// \B   匹配单词边界。
var patt11 = /\Bbc/;  // s11=bc
//var patt11 = /\Bbc/g;  // s11= bc,bc
var str11 = "abc zbbc";
var b11 = patt11.test(str11);
var s11 = str11.match(patt11);
console.log("\\B正则测试" + b11 + "\n结果:" + s11);

// \0   查找 NULL 字符。

// \n   查找换行符。
var patt12 = /\n/;   
//var str12 = "abc \\nzbbc"; // false  null
var str12 = "abc \n\nzbbc"; // true
var b12 = patt12.test(str12);
var s12 = str12.match(patt12);
console.log("\\n正则测试" + b12 + "\n结果:" + s12);

// \f   查找换页符。
// 示例如上

// \r   查找回车符。
// 示例如上

// \t   查找制表符。
// 示例如上

// \v   查找垂直制表符。
// 示例如上


// n+   匹配任何包含至少一个 n 的字符串。
//var patt13 = /b+/g;   // abc,zbbc
//var patt13 = /\w+/g;   // b,bb
//var patt13 = /bc+/g;   // bc,bc
var patt13 = /zbc+/g;   // null 
var str13 = "abc zbbc"; 
var b13 = patt13.test(str13);
var s13 = str13.match(patt13);
console.log("n+正则测试" + b13 + "\n结果:" + s13);


// n*   匹配任何包含零个或多个 n 的字符串。
var patt14 = /b*/g;   // ,b,,,,bb,,
//var patt14 = /\w*/g;   // abc,,zbbc,
//var patt14 = /bc*/g;   // bc,b,bc
//var patt14 = /zbc*/g;   // zb
//var patt14 = /d*/g;   // ,,,,,,,,
var str14 = "abc zbbc"; 
var b14 = patt14.test(str14);
var s14 = str14.match(patt14);
console.log("n*正则测试" + b14 + "\n结果:" + s14);


// n?   匹配任何包含零个或一个 n 的字符串。
//var patt15 = /b?/g;   // ,b,,,,b,b,,
//var patt15 = /\w?/g;   // a,b,c,,z,b,b,c,
//var patt15 = /bc?/g;   // bc,b,bc
//var patt15 = /zbc?/g;   // zb
var patt15 = /d?/g;   // ,,,,,,,,
var str15 = "abc zbbc"; 
var b15 = patt15.test(str15);
var s15 = str15.match(patt15);
console.log("n?正则测试" + b15 + "\n结果:" + s15);


// n{X}  匹配包含 X 个 n 的序列的字符串。
//var patt16 = /b{1}/g; // b,b,b
//var patt16 = /b{2}/g;  // false bb
//var patt16 = /d{3}/g; // false  null
var patt16 = /z{3}/g; // zzz,zzz,zzz
var str16 = "abc zbbczzzzzzzz hhhzzzz"; 
var b16 = patt16.test(str16);
var s16 = str16.match(patt16);
console.log("n{X}正则测试" + b16 + "\n结果:" + s16);

// n{X,}    X 是一个正整数。前面的模式 n 连续出现至少 X 次时匹配。
//var patt17 = /b{1}/g; // b,b,b
//var patt17 = /b{2}/g;  // false bb
//var patt17 = /d{3}/g; // false  null
var patt17 = /z{3}/g; // zzz,zzz,zzz
var str17 = "abc zbbczzzzzzzz hhhzzzz"; 
var b17 = patt17.test(str17);
var s17 = str17.match(patt17);
console.log("n{X,}正则测试" + b17 + "\n结果:" + s17);

// n{X,Y}   X 和 Y 为正整数。前面的模式 n 连续出现至少 X 次,至多 Y 次时匹配。
var patt18 = /b{1,2}/g; // b,bb
//var patt18 = /b{1,3}/g;  // b,bb
//var patt18 = /d{2,7}/g; // false  null
//var patt18 = /z{3,5}/g; // zzzzz,zzz,zzzz
var str18 = "abc zbbczzzzzzzz hhhzzzz"; 
var b18 = patt18.test(str18);
var s18 = str18.match(patt18);
console.log("n{X,Y}正则测试" + b18 + "\n结果:" + s18);


// n$   匹配任何结尾为 n 的字符串。
//var patt19 = /z$/g; // z
//var patt19 = /b$/g;  // null
var patt19 = /c$/g; // null
var str19 = "abc zbbczzzzzzzz hhhzzzz"; 
var b19 = patt19.test(str19);
var s19 = str19.match(patt19);
console.log("n$正则测试" + b19 + "\n结果:" + s19);


// ^n   匹配任何开头为 n 的字符串。
// 示例同上


// ?=n  匹配任何其后紧接指定字符串 n 的字符串。
//var patt20 = /bc(?= czbbc)/g; // false null
var patt20 = /bc(?= zbbc)/g; // true bc
var str20 = "abc zbbczzzzzzzz hhhzzzz"; 
var b20 = patt20.test(str20);
var s20 = str20.match(patt20);
console.log("?=n正则测试" + b20 + "\n结果:" + s20);


// ?!n  匹配任何其后没有紧接指定字符串 n 的字符串。
// 示例同上

你可能感兴趣的:(JavaScript基础 JavaScript正则表达式)