JS 正则表达式
JS 正则表达式
时间:2016-04-20 10:44:47
作者:zhongxia
正则表达式在 JS 校验中,是 一个非常常用的知识点. 各种表单的验证,字符串验证等 都可以使用 正则表达式来快速的实现
常用的方式
例子:校验邮编
var re = /^\d{6}$/; //不同的验证,使用不同的正则表达式,至于提示信息,可以自定义
return re.test(str);
}
isPostCode('1231231') false
isPostCode('123412) true
正则表达式的语法
-
var reg = new RegExp('zhongxia','i')
是否含有zhongxia,不区分大小写参数1: 匹配的字符串 参数2: 匹配的选项标志: i 不区分大小写 g 全局搜索 m 多行查找
-
当然 定义 正则表达式还有另外一种方法
var reg = /a/i
-
常用的几个方法:
- test 返回true,false ,校验中,最常用
- exec 不匹配返回null
- match
- replace
- search 不匹配返回 -1
- split
-
使用元字符必须转移 元字符有:
( [ { \ ^ $ | ) ? * + .
var re = /?/ (Error)
var re = /\?/ (Yes) -
使用RegExp构造函数与使用正则表达式字面量创建正则表达式注意点
var str = "\?";
alert(str);//只会输出?
var re = /\?/;//将匹配?
alert(re.test(str));//true
re = new RegExp("\?");//出错,因为这相当于re = /\?/
re = new RegExp("\\?");//正确,将匹配?
alert(re.test(str));//true -
常用 /^start/ //脱字符(^)代表字符开始位置
/start表示字符结束位置判断输入的字符是否为英文字母
var reg=/^[a-zA-Z]+$/;
判断输入的字符是否为整数
var reg=/^[-+]?\d*$/;
判断输入的字符是否为:a-z,A-Z,0-9
var reg=/^[a-zA-Z0-9_]+$/;
判断输入的字符是否为中文
var reg=/^[\u0391-\uFFE5]+$/;
判断输入的EMAIL格式是否正确
var reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
判断输入的邮编(只能为六位)是否正确
reg=/^\d{6}$/;
Phone : /^(((\d{2,3}))|(\d{3}-))?((0\d{2,3})|0\d{2,3}-)?[1-9]\d{6,7}(-\d{1,4})?$/
Mobile : /^(((\d{2,3}))|(\d{3}-))?13\d{9}$/
Url : /^http:\/\/[A-Za-z0-9]+.[A-Za-z0-9]+[\/=\?%-&_~`@[]\':+!]([^<>\"\"])$/
IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/
QQ : /^[1-9]\d{4,8}$/
某种特殊金额:/^((\d{1,3}(,\d{3})*)|(\d+))(.\d{2})?$/ //说明:除“XXX XX,XXX XX,XXX.00”格式外
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」