JavaScript正则表达式是高效处理字符串匹配、提取和替换的工具,通过模式描述目标,配合RegExp对象或字符串方法(如test、match、replace)使用;支持字面量和构造函数两种写法,常用标志有g、i、m;邮箱校验推荐/^1+@2+.3+$/,手机号用/^1[3-9]d{9}$/,中文提取用[u4e00-u9fa5]{2,4},强调精准匹配优于复杂公式。s@ ↩s@ ↩s@ ↩

JavaScript 正则表达式是处理字符串匹配、提取和替换的高效工具。核心在于用简洁的模式描述“想要找什么”,再配合 RegExp 对象或字符串方法(如 test()、match()、replace())来执行操作。
基础写法与常用标志
正则表达式可写作字面量形式 /pattern/flags,也可用构造函数 new RegExp('pattern', 'flags')(动态生成时更灵活)。常用标志有:
g:全局匹配(不加则只匹配第一个) i:忽略大小写 m:多行模式(让 ^ 和 $ 匹配每行起止)
邮箱地址匹配(实用但需注意边界)
简单验证可用:/^[^s@]+@[^s@]+.[^s@]+$/。它要求:开头非空格/@字符,接着一个 @,再是非空格/@字符,一个点,最后是非空格/@字符。
注意:完整邮箱规范极复杂(RFC 5322),前端只需做基础校验,后端必须二次验证。避免用过于宽松的 /.+@.+..+/,它会误判 a@b.c.d 或 @ . 这类无效输入。
立即学习“Java免费学习笔记(深入)”;
手机号匹配(以中国大陆为例)
常见格式是 11 位数字,以 1 开头,第二位常为 3–9:/^1[3-9]d{9}$/。
说明:
^ 和 $ 锁定首尾,防止 “abc13812345678def” 被误认为合法 [3-9] 排除已停用号段(如 11、12) d{9} 表示后面紧跟 9 个数字
若需兼容带分隔符的输入(如 138-1234-5678),先用 .replace(/[-s]/g, '') 清理再校验。
中文、数字、字母混合提取
比如从字符串 "订单号:ORD2024001,用户:张三,金额:¥99.5" 中提取关键信息:
提取订单号:str.match(/ORDd+/) → ["ORD2024001"] 提取中文姓名:str.match(/[u4e00-u9fa5]{2,4}/)(匹配 2–4 个常用汉字) 提取金额数字:str.match(/¥(d+.d+)/),括号捕获小数部分,match() 返回数组,[1] 即数值
提示:[u4e00-u9fa5] 是常用汉字范围,不能覆盖生僻字或扩展区;如需更全,可加 u3400-u4dbf(扩展 A)等,但多数场景够用。
基本上就这些。正则不是越长越强,而是越准越稳——明确目标、限制边界、测试边界值,比套用“万能公式”更重要。
以上就是怎样使用javascript正则表达式_常见匹配模式有哪些?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1544429.html
微信扫一扫
支付宝扫一扫