JavaScript学习笔记整理(六)
来源:互联网 发布:达索软件销售 编辑:程序博客网 时间:2024/05/17 12:01
RegExp对象:js中专门疯转一条正则表达式,提供使用正则表达式的常用API
在使用正则表达式时,必须创建RegExp
创建正则表达式:var RegExp=/正则表达式/ig;
RegExp的方法
test()检索字符串中指定的值,返回true或者false;影响lastIndex属性值
API:var boolean=regExp.text("被检查的字符串"); //返回true或者false;
验证和查找的区别:验证要求完整匹配,查找要求部分匹配
var regExp=/\w+@\w+([-]\w+)*(\.\w+)+/;
var regExp= /^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}$/;
//验证邮箱 这个开头添加了^和最后添加了$可以匹配dhwe@jdu@iws.com是错误的
var regExp= /\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/;
//验证邮箱,这个开头没有加^和最后没有加$,如果用户输入dhwe@jdu@iws.com是可以通过的
正则表达式 贪婪模式:.+.* 默认先匹配整个字符串,在缩小
正则表达式 懒惰模式:(.+?) (.*?),从第一个字符开始,向后扩展范围
匹配超链接的正则表达式:<a(.+?)href="(.*?)"(.*?)>
凡是正则表达式里面的斜线都变成双斜线 程序运行时,单斜线和双斜线是一样的
while(true){
var input=prompt("输入邮箱");
if(regExp.test(input)){
document.write("可以使用");
break;
}else{alert("格式错误")};
}
查找:exec:查找关键字的位置,又能找到关键字的内容,indexOf不支持正则,search支持正则,只能match所以内容,但是找不到位置
需求:找到静静和明明的位置
regExp.exec("被查找的内容");
查找:仅判断有没有,或者仅查找位置:indexOf() ,支持正则表达式secrch()
仅找所有的关键字内容:match()
即找位置,又找内容:exec()
var str="明明喜欢我,却不告诉我,别理我,我想静静,静静是谁?"
var regExp=/明明|静静/g; //两个元素在全局查找
var arr=[];
while((arr=regExp.exec(str))!=null){
document.write("在位置"+arr.index+"发现:"+arr[0]);
}
从正则表达式匹配内容中,取出一部分:RegExp();
案例,在一个字符串中找出网址,并找出定位的网址内容
var txt='<script href="a.js"/>'+'<a href = "cost/list.do">链接一</a>'+
'<a class="main" href = "cost/add.do">链接二</a>';
var regExp=/<a(.+?)href\s*=\s*['"](.*?)['"](.*?)>/ig;
while((arr=regExp.exec(txt))!=null){
console.log(arr[0]);
console.log(RegExp.$2); //不能小写,RegExp.$2取出第二个匹配的来,第二个匹配(.*?) 正则表达式的第n个分组
//正则表达式时从1开始匹配
//必须通过RegExp类型,直接调用$n,不能使用对象
}
用replace方法替换字符串中匹配的字符
var str="那天我去了她家,我说,我草";
str=str.replace(/我[去草]/g,"**"); //正则表达式匹配我去,我草
document.write(str);
输出:那天**了她家,我说,**
split可以使用正则表达式,
var str="no zuo no die";
var words=str.split(/\s+/); //一个空格,两个空格都可以
for(var i=0;i<words.length;i++){
var frist=words[i][0].toUpperCase(1);
}
document.write(words.join(" "))
去除一个字符串开头或者结尾的空白字符
.trim可以去除开头或者结尾的空格,中间的去不了
对输入字符串的处理多数先清除开头或者结尾的空格在做处理
判断用户说输入是否和数据库中一致
.trim只有ie8不支持
所有的string API都需要变量保存结果
一常规做法
var code="haod"
input=prompt("请输入验证码");
input=input.trim();
if(input==code){
document.write("登录成功");
}else(
document.write("登录失败")
)
二,使用正则表达式封装
var code="haod";
while(true){
var input=prompt("输入验证码");
if(quchu(input).toLowerCase()==code.toLowerCase()){
document.write("登录成功");
break;
}else{
alert("验证码错误");
}
}
function quchu(str){
//使用正则表达式去掉开头和结尾的空字符
var regExp=/(^\s+)|(\s+$)/g;
str=str.replace(RegExp,"");
return str;
}
在使用正则表达式时,必须创建RegExp
创建正则表达式:var RegExp=/正则表达式/ig;
RegExp的方法
test()检索字符串中指定的值,返回true或者false;影响lastIndex属性值
API:var boolean=regExp.text("被检查的字符串"); //返回true或者false;
验证和查找的区别:验证要求完整匹配,查找要求部分匹配
var regExp=/\w+@\w+([-]\w+)*(\.\w+)+/;
var regExp= /^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}$/;
//验证邮箱 这个开头添加了^和最后添加了$可以匹配dhwe@jdu@iws.com是错误的
var regExp= /\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/;
//验证邮箱,这个开头没有加^和最后没有加$,如果用户输入dhwe@jdu@iws.com是可以通过的
正则表达式 贪婪模式:.+.* 默认先匹配整个字符串,在缩小
正则表达式 懒惰模式:(.+?) (.*?),从第一个字符开始,向后扩展范围
匹配超链接的正则表达式:<a(.+?)href="(.*?)"(.*?)>
凡是正则表达式里面的斜线都变成双斜线 程序运行时,单斜线和双斜线是一样的
while(true){
var input=prompt("输入邮箱");
if(regExp.test(input)){
document.write("可以使用");
break;
}else{alert("格式错误")};
}
查找:exec:查找关键字的位置,又能找到关键字的内容,indexOf不支持正则,search支持正则,只能match所以内容,但是找不到位置
需求:找到静静和明明的位置
regExp.exec("被查找的内容");
查找:仅判断有没有,或者仅查找位置:indexOf() ,支持正则表达式secrch()
仅找所有的关键字内容:match()
即找位置,又找内容:exec()
var str="明明喜欢我,却不告诉我,别理我,我想静静,静静是谁?"
var regExp=/明明|静静/g; //两个元素在全局查找
var arr=[];
while((arr=regExp.exec(str))!=null){
document.write("在位置"+arr.index+"发现:"+arr[0]);
}
从正则表达式匹配内容中,取出一部分:RegExp();
案例,在一个字符串中找出网址,并找出定位的网址内容
var txt='<script href="a.js"/>'+'<a href = "cost/list.do">链接一</a>'+
'<a class="main" href = "cost/add.do">链接二</a>';
var regExp=/<a(.+?)href\s*=\s*['"](.*?)['"](.*?)>/ig;
while((arr=regExp.exec(txt))!=null){
console.log(arr[0]);
console.log(RegExp.$2); //不能小写,RegExp.$2取出第二个匹配的来,第二个匹配(.*?) 正则表达式的第n个分组
//正则表达式时从1开始匹配
//必须通过RegExp类型,直接调用$n,不能使用对象
}
用replace方法替换字符串中匹配的字符
var str="那天我去了她家,我说,我草";
str=str.replace(/我[去草]/g,"**"); //正则表达式匹配我去,我草
document.write(str);
输出:那天**了她家,我说,**
split可以使用正则表达式,
var str="no zuo no die";
var words=str.split(/\s+/); //一个空格,两个空格都可以
for(var i=0;i<words.length;i++){
var frist=words[i][0].toUpperCase(1);
}
document.write(words.join(" "))
去除一个字符串开头或者结尾的空白字符
.trim可以去除开头或者结尾的空格,中间的去不了
对输入字符串的处理多数先清除开头或者结尾的空格在做处理
判断用户说输入是否和数据库中一致
.trim只有ie8不支持
所有的string API都需要变量保存结果
一常规做法
var code="haod"
input=prompt("请输入验证码");
input=input.trim();
if(input==code){
document.write("登录成功");
}else(
document.write("登录失败")
)
二,使用正则表达式封装
var code="haod";
while(true){
var input=prompt("输入验证码");
if(quchu(input).toLowerCase()==code.toLowerCase()){
document.write("登录成功");
break;
}else{
alert("验证码错误");
}
}
function quchu(str){
//使用正则表达式去掉开头和结尾的空字符
var regExp=/(^\s+)|(\s+$)/g;
str=str.replace(RegExp,"");
return str;
}
阅读全文
0 0
- JavaScript学习笔记整理(六)
- javascript 学习笔记(六)
- javaScript学习笔记(六)
- Android入门学习笔记整理(六)
- Javascript 学习 笔记六
- JavaScript学习笔记六
- JavaScript学习笔记整理
- javascript学习笔记 (六)-ajax相关
- [持续更新]JavaScript学习笔记(六)
- JavaScript学习笔记整理(一)
- JavaScript学习笔记整理(二)
- JavaScript学习笔记整理(三)
- JavaScript学习笔记整理(四)
- JavaScript学习笔记整理(五)
- JavaScript学习笔记整理(七)
- javascript笔记(六)
- JAVA学习笔记整理六(类集框架)
- C#笔记整理(六)
- mediaproxy和rtpproxy原理
- 第12周 【项目四】 拓扑排序算法验证
- 1053. 住房空置率 (20)
- gdufs新手赛赛后补题
- 欢迎学习交流
- JavaScript学习笔记整理(六)
- 蓝桥杯 算法训练 一元三次方程求解
- 线性回归诊断--R
- C++学习笔记--二阶构造模式
- 静态工厂方法和实例工厂方法注入bean
- spring boot集成EhCache(七)
- ①mov ax,1 ②mov ds,ax ③mov bx,[0] 通过上面这些语句,为什么ds=0000?
- 1054. 求平均值 (20)
- IntelliJ Idea 常用快捷键列表