Js 正则表达式知识汇总
作者:bea
正则表达式: 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() 代
正则表达式:
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中正则表达式是一个很重要的点,很多地方都需要配合正则才行,所以小伙伴一定要学好这块内容。
有用 | 无用
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中正则表达式是一个很重要的点,很多地方都需要配合正则才行,所以小伙伴一定要学好这块内容。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 使用js获取图片原始尺寸
- 上传文件返回的json数据会被提示下载问题解决方案
- 使用jQuery实现验证上传图片的格式与大小
- 使用正则表达式的格式化与高亮显示json字符串
- jquery中获取元素里某一特定子元素的代码
- JS逆序遍历实现代码
- javascript框架设计读书笔记之数组的扩展与修复
- javascript框架设计读书笔记之字符串的扩展和修复
- javascript框架设计读书笔记之模块加载系统
- javascript框架设计读书笔记之种子模块
- 推荐一个封装好的getElementsByClassName方法
- CSS3,HTML5和jQuery搜索框集锦
- JavaScript和CSS交互的方法汇总
- HTML,CSS,JavaScript速查表推荐
- javascript函数声明和函数表达式区别分析
- javascript常用方法汇总
- js时间日期格式化封装函数
- JavaScript基础语法、dom操作树及document对象
- JavaScript基础知识学习笔记