2019-1-28 复习
还记得刚开始接触JS中的正则表达式,是源代码中压缩后的一大段正则表达式(对于强迫症的我就是一种考验):一方面惊叹这部分代码的神奇之处(可以进行用户表单验证),同时对着一堆“乱码”无从下手。正则表达式,如果没有标注,没有换行,直接阅读,困难很大。当时在CSDN上一个一个查也没找到合适的结果。。。于是暂时放下来看其他代码
if(RegExp 没有换行){
if(RegExp 没有标注){ //就是一堆“乱码” var reg1 = /^[0-9a-zA-Z]$/ } }
静下心来,首先分析外部结构:整体上范围是g或者i。正则表达式的含义类似于office中的高级查找。
开始结束符号/^$/,表示个数的大括号{m,n},表示前后边界的中括号[0-9a-z],还有预定义的\d\d\w等等。这几个熟悉之后,正则表达式就能看懂一部分了(知道开头结尾和基本结构了)。
接下来,接触了几个常见的正则表达式验证表单的方法:验证电话号码,验证邮箱,验证手机号码,验证中文英文姓名等等(熟悉这几个之后就会豁然开朗),可以说这就是正则表达式的一个瓶颈。
剩下的东西,就是常用的方法,replace search 比较常用。在字符串中trim具有兼容性,部分情况需要自己封装trim函数。
// 常用方法
str.trim();
str.replace(/today/,"tomorrow");
str.search(/bc/);
等价于indexOF('bc');
function trim(str){
var aaa = str.replace(/(^\s+)|(\s+$)/g,'');
return aaa;
}
String.prototype.aaa = function(){
var aaa = str.replace(/(^\s+)|(\s+$)/g,'');
return aaa;
}
console.log(str.aaa());
// 面向对象封装
str.trim();
str.replace(/today/,"tomorrow");
str.search(/bc/);
等价于indexOF('bc');
function trim(str){
var aaa = str.replace(/(^\s+)|(\s+$)/g,'');
return aaa;
}
String.prototype.aaa = function(){
var aaa = str.replace(/(^\s+)|(\s+$)/g,'');
return aaa;
}
console.log(str.aaa());
// 面向对象封装
有些技术目前工作中使用不多,但是很重要,需要扎实掌握。例如数组和对象的API等基本知识要经常复习中。