美文网首页
JS 正则表达式

JS 正则表达式

作者: RickyWu585 | 来源:发表于2021-05-15 15:14 被阅读0次

创建正则

  • 构造函数创建
var regexp = new RegExp(/123/)
  • 利用字面量创建
var rg = /123/
  • 测试是否符合规则。符合:true 不符合:false
rg.test(123)  
// true
rg.test('abc')
// false

特殊字符

  • 边界符 ^ $
var reg = /^abc$/  
// 以abc开头且以abc结尾,精确匹配,必须是'abc'
  • 只匹配其中一个即可
var reg = /[abc]/ 
// 只要有abc其中的一个就符合,包含a或b或c中一个即可
  • 范围符 -
var reg = /^[a-z]$/
// 26个字母里的任何一个都符合
  • 字符组合
var reg = /^[a-zA-Z0-9_-]$/
  • 取反 ^
var reg = /^[^a-zA-Z0-9_-]$/
// 中括号里的 ^ 表示取反的意思,表示不能包含后面那些字符

量词符

  • *相当于 >= 0
var reg = /^a*$/
// 'a' 'aa' 'aaa' 都符合
  • +相当于 >= 1
var reg = /^a+$/
// ' '不符合,'a','aa'符合
  • ?相当于 1 || 0
var reg = /^a?$/
// ' ','a'符合,'aaa'等都不符合
  • {3}是重复三次;{3,}是>=3;{3,16}是>=3且<=16
var reg = /^a{3}$/
var reg = /^a{3,}$/
var reg = /^a{3,16}$/
var reg = /^abc{3}$/
// 'abccc' 符合
var reg = /^(abc){3}$/
// () 表示优先级,'abcabcabc' 符合
var reg = /^[a-zA-Z0-9_-]{6,16}$/

预定义类

image.png

正则表达式参数

/表达式/[switch]

switch(也称为修饰符)按照什么样的模式来匹配。有三种值:

  • g:全局匹配
  • i:忽略大小写
  • gi:全局匹配+忽略大小写

正则表达式实现替换字符串

示例:正则实现 trim 功能

function trim(string){
  return  string.replace(/^\s+|\s+$/g,'')
}

相关文章

网友评论

      本文标题:JS 正则表达式

      本文链接:https://www.haomeiwen.com/subject/mkztrltx.html