正则表达式在javaScript中有什么作用?
3个回答
展开全部
1.正则表达式只适合匹配文本字面,不适合匹配文本意义:像匹配url,email这种纯文本的字符就很好,但比如匹配多少范围到多少范围的数字,如果你这个范围很复杂的话用正则就很麻烦。或者匹配html,这个是很多人经常遇到的,写一个复杂匹配html的正则很麻烦,不如使用针对特定意义的处理器来处理(比如写语法分析器,dom分析器等)
2.容易引起性能问题:像.*这种贪婪匹配符号很容易造成大量的回溯,性能有时候会有上百万倍的下降,编写好的正则表达式要对正则引擎执行方式有很清楚的理解才可以
3.正则的替换功能较差:甚至没有基本的截取字符串或者把首字母改变大小写的功能,这对于url重写引擎有时候是致命的影响
但是也有优点:只要熟练应用正则表达式,而且匹配的目标是纯文本,那么相比于写分析器来说,正则可以更快速的完成工作。还有在捕获字符串的能力,正则也可以很好的完成工作,比如截取url的域名或者其他的内容等等
2.容易引起性能问题:像.*这种贪婪匹配符号很容易造成大量的回溯,性能有时候会有上百万倍的下降,编写好的正则表达式要对正则引擎执行方式有很清楚的理解才可以
3.正则的替换功能较差:甚至没有基本的截取字符串或者把首字母改变大小写的功能,这对于url重写引擎有时候是致命的影响
但是也有优点:只要熟练应用正则表达式,而且匹配的目标是纯文本,那么相比于写分析器来说,正则可以更快速的完成工作。还有在捕获字符串的能力,正则也可以很好的完成工作,比如截取url的域名或者其他的内容等等
展开全部
匹配字符串,比如强制浏览者输入你打算让他输入的内容等等
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单啦
var uname=document.getElementById("uname"); //获取网页上一个id为uname的文本框对象
var zz=/^\w{0,6}$/; //这个是定义一个正则表达式 意思是范围在0-9、a-z、_都满足要求
if(!zz.test(uname.value)) //将条件取反 表示如果不吗,满足条件就给出提示
{ alert("你输入的内容不和条件"); }else{//省略。。。。}
就这样 你到网上去搜一下正则定义好的一些字符(例如:\w{0,6})的意思 把他们记录下来 以后照着这样用就行了 呵呵 满意的话给我加分哦
var uname=document.getElementById("uname"); //获取网页上一个id为uname的文本框对象
var zz=/^\w{0,6}$/; //这个是定义一个正则表达式 意思是范围在0-9、a-z、_都满足要求
if(!zz.test(uname.value)) //将条件取反 表示如果不吗,满足条件就给出提示
{ alert("你输入的内容不和条件"); }else{//省略。。。。}
就这样 你到网上去搜一下正则定义好的一些字符(例如:\w{0,6})的意思 把他们记录下来 以后照着这样用就行了 呵呵 满意的话给我加分哦
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询