JavaScript正则表达式怎么创建
本篇内容介绍了“JavaScript正则表达式怎么创建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1.JavaScript正则表达式的作用:
(1)正则表达式可以对一个输入的字符串进行测试,查看该输入字符串是否符合要求的模式,比如电话或者邮箱。
(2)替换文本,可以在文档中使用一个正则表达式来表示特定的文字,然后用对象将其删除或者替换别的文字
(3)匹配字符串中的子字符串,然后及逆行操作。
2.创建正则表达式的语法
(1)
<script type="text/javascript"> var str= "aaabbbccc"; var reg = new RegExp(); //RegExp和Array一样是一个对象,这样没有任何效果,需要将正则表达式作为参数传递进去 reg = new RegExp("a","ig");//表示查找a,i表示不区分大小写,g表示全文查找 </script>
(2)作用等同于上面
reg = /"a"/ig;
3.正则表达式的属性和对象
(1).test返回一个布尔类型的值,检查所输入的字符串是否存在,存在返回true,不存在返回false
var input = prompt("输入一个六位数的密码") var reg = /^\d{6}&/ig; var bool = reg.test(input); console.log(bool);
(2).exec
提取指定字符串中的符合要求的子串(或者匹配模式),返回一个数组存放匹配结果;如果没有,则返回null。
exec可以说是test的升级版本,因为它不仅可以检测,而且检测到了可以直接提取结果。
(3)match,找到一个或多个正则表达式的匹配。
(4)replace,替换与正则表达式匹配的子串。str = str.replace(/正则表达式/ig,"替换的值"),如果替换的值式空,就达到删除的效果。
(5)search,检索与正则表达式相匹配的值。返回下标,找不到就返回-1
4.正则表达式预定义类
. 查找单个字符,除了换行和行结束符
\d 匹配一个数字类型
\w 匹配一个字母数字下划线
\W 查找非单词字符
\D 匹配一个非数字
\s 匹配一个空格
\S 查找非空白字符
\b 匹配单词边界
\B 匹配非单词边界
5.预定义字符
\n 换行符
\r 回车符
\t 制表符
\f 换页符(Tab)
\b 退格符(BackSpace)
\v 垂直制表符
\0 空字符("")
6.量词(理解)
* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。 * 等价于{0,}。
+ 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,},至少一次。
? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1},最多一次。
{min,max} 规定最少出现次数,和最多出现次数(可以只写一个)
^ 用来匹配字符串开头
$ 用来匹配字符串结尾
7.属性
正则表达式是严格区分大小写的
i 加上去后不区分大小写
g 全局匹配 找到了一个以后还是会继续接着找
m 多行匹配
lastIndex 为一个整数 标示开始下一次匹配的字符位置。也叫作游标,可以获取赋值
source 正则表达式的源文本
8.方括号[]表示匹配一个字符
[abcd] 表示匹配任意一个字符
[a-z] 匹配a到z的任意一个字符
[A-Z] 匹配A到Z的任意一个字符
[0-9] 匹配0到9的任意一个字符
[^] 表示取反
应用实例:
(1)写一个function,清楚字符串前后的空格
var hello =" hell o "; function reg(str){ str = str.replace(/(^\s*)|(\s*)$/g,"");//用正则表达式匹配到开头的空格或者结尾的空格, 然后以“”空字符串代替 //其中^\s是以空格开头,*是不限制次数, //\s* $是匹配不限制次数的以结尾的空格 console.log(str); } reg(hello);
(2)试用正则表达式,验证邮箱格式
function email(email){ var reg = /^\w+@\w+(\.\w{2,3}){1,2}$/g; console.log(reg.test(email_value)); } var email_value = "1231231313@qq.com"; email(email_value);
“JavaScript正则表达式怎么创建”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341