当前位置: 首页 > 编程笔记 >

Js 正则表达式知识汇总

徐承载
2023-03-14
本文向大家介绍Js 正则表达式知识汇总,包括了Js 正则表达式知识汇总的使用技巧和注意事项,需要的朋友参考一下

正则表达式:

1、什么是RegExp?RegExp是正则表达式的缩写。RegExp 对象用于规定在文本中检索的内容。

2、定义RegExp:var +变量名=new RegExp();

3、RegExp 对象有 3 个方法:

1)test()检索字符串中的指定值,返回值是true或false.


var p1=new Reg("e");

document.write(Reg.test("welcome to China!"));

2)exec()


var p1=new Reg("e");

document.write(Reg.exec("welcome to China!"));

3) compile()


var p1=new Reg("e");

document.write(Reg.compile("welcome to China!"));

4、修饰符

1)i  执行对大小写不敏感的匹配

2)g 执行全局匹配

3)m 执行多行匹配

5、方括号(用于查找某个范围内的字符)

1)[abc]  查找方括号之间的任何字符

2)[^abc] 查找任何不在方括号之间的字符

3)[0-9]  查找任何0-9之间的数字

4)[a-z] 查找任何小写a-z之间的字符

5)[A-Z]查找任何大写A-Z之间的字符

6)[A-z] 查找任何大写A-小写z之间的字符

7)[adgk] 查找给定集合内的任何字符

8)[^adgk]查找给定集合外的任何字符

9)(red|biue|green)查找任何给定的选项

6、元字符

1)\w:查找单词字符

2)\W:查找非单词字符

3)\d:查找数字

4)\D:查找非数字字符

7、 量词

n+匹配任何包含至少一个 n 的字符串。

n*匹配任何包含零个或多个 n 的字符串。

n?匹配任何包含零个或一个 n 的字符串。

n{X}匹配包含 X 个 n 的序列的字符串。

n{X,Y}匹配包含 X 或 Y 个 n 的序列的字符串。

n{X,}匹配包含至少 X 个 n 的序列的字符串。

n$匹配任何结尾为 n 的字符串。

^n匹配任何开头为 n 的字符串。

?=n匹配任何其后紧接指定字符串 n 的字符串。

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

【练习题1】判断输入身份证格式是否正确


<body>

<label>请输入身份证号:</label>

<input name="" type="text" id="shenfen"/>

<input name="" type="submit" id="textfi" value="提交1" onclick="test()"/><!--提交按钮,触发函数-->

</body>

</html>

<!--判断身份证是否输入正确-->

<script>

function test()

{

var reg=new RegExp(/^[0-9]{17}[0-9|X]$/);<!--正则表达式的格式:以/^开头,以$/结尾,数字、字母范围用中括号-->

var text=document.getElementById("shenfen").value;<!--输入文本框的字符串的id跟文本框的id对应-->

//判断地区是否合法(用if...else)

if(reg.test(text))

{

alert("输入正确")

}

else

{

alert("输入错误");

}

}

</script>

效果图:

【练习题2】判断输入的邮箱格式是否正确


<body>

<label>请输入您的邮箱:</label>

<input name="" type="text" id="youxiang"/>

<input name="" type="submit" value="提交2" onclick="y()" />

</body>

</html>

<script>

function y()

{

var yx=new RegExp(/^[0-9|A-z|_]{1,17}@[A-z|0-9]{1,5}.(com|cn|net|org|cc)$/);

var shuru=document.getElementById("youxiang").value; <!--定义变量,调用的是整个function,,必须把变量写在function内-->

if(yx.test(shuru))<!--test正则表达式的方法-->

{

alert("zhengque");

}

else

{

alert("cuowu");

}

}

</script>


效果图:


相对来说,js中正则表达式是一个很重要的点,很多地方都需要配合正则才行,所以小伙伴一定要学好这块内容。

 类似资料:
  • 本文向大家介绍Java正则表达式基础入门知识,包括了Java正则表达式基础入门知识的使用技巧和注意事项,需要的朋友参考一下 众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。 大家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一

  • 正则表达式是一个特殊的字符序列,用于判断一个字符串是否与我们所设定的字符序列是否匹配,也就是说检查一个字符串是否与某种模式匹配。 Python 自 1.5 版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功能。 下面通过实例,一步一步来初步认识正则表达式。 比如在一段字符串中寻找是否含有某个字符或某些字符,通常我们使用内置函数来实

  • 本文向大家介绍正则表达式常用用法汇总,包括了正则表达式常用用法汇总的使用技巧和注意事项,需要的朋友参考一下 在没看正文之前,先给大家介绍下正则表达式基本概念: 正则表达式,又称正规表示法、常规表示法。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则。在很多文本编辑器里,正

  • 我试图将js代码转换为java版本,但对正则表达式有点困惑:在js中,我有一个类似于:testString的表达式。拆分(“/(\w*\d)/g”) 我可以在java中使用什么等效语言?我试着用匹配器得到同样的结果。find()和split函数,但结果不一样。

  • 昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?

  • 在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 ngx.re.* 的规范,即使您对 Lua 语言中的规范非常熟悉,我们仍不建议使用 Lua 中的正则表达式。一是因为 Lua 中正则表达式的性能并不如 ngx.re.* 中的正则表达式优秀;二是 Lua 中的正则表达式并不符合 POSIX 规范,而 ngx.re.* 中实现的是标准的 POSIX 规范,后者明显更具备通用