js之正则

1、正则的声明方法

  1)var reg = /abc/; "这个叫对象直接量方式";
  2)var reg = new RegExp("abc") 这个叫构造函数方式;

2、正则方法

1)exec() 方法用于检索字符串中的正则表达式的匹配。 返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
  返回的数组中 第0个元素为 0 匹配到的文本
  第1个元素为 index 匹配到的文本出现的位置
  第2个元素为 input 被匹配的字符串
  第3个元素为 length 匹配到的文本的个数

  使用while可以匹配多次
  while (result = reg.exec(str)) {
    console.log(result)
  }
2)test 方法用于检测一个字符串是否匹配某个模式.
  reg.test(str) //返回true或者false

5、可以用于正则的string方法

1)match()

  将字符串中匹配的内容捕获出来
  若加上量词g则一次性捕获所有匹配的内容放到数组里返回,若不加则与exec()的返回值一样
  用法:string.match(regexp)

  match 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 将字符串中匹配的内容捕获出来
  var reg = /abc/g;
  var str = "11abc00abc"
  console.log(str.match(reg));//返回一个数组

  注:如果没有g(不是全局匹配) 则与exec类似
  如果有g(全局匹配) 找到匹配的所有文本返回一个数组

2)replace 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
  str.replace(reg,"44")
  返回值是一个被替换过的新的字符串,不改边原来字符串

3)search() 返回值是相匹配的子串的起始位置。 方法不执行全局匹配,它将忽略标志 g。
  var str="Visit W3School!"
  document.write(str.search(/W3School/)) // 6

4)split() 字符串的分割 ,返回一个数组。正则可以匹配它的分割方式

附:


 


一、用户名正则

//用户名正则,4到16位(字母,数字,下划线,减号)
var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;

二、密码强度
//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
//输出 true
console.log("=="+pPattern.test("iFat3#"));

三、身份证号(18位)正则
//412724 1991 1014 1575
var cP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;

四、手机号

var TEL_REGEXP = /^1([38]\d|5[0-35-9]|7[3678])\d{8}$/;

  var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript正则表达式是一种强大的文本模式匹配工具,它可以用来在字符串中查找、替换和提取特定的文本。以下是一些使用JavaScript正则表达式的示例: 1. 匹配字符串中的数字:使用正则表达式`\d+`可以匹配任意长度的数字。 ```javascript let str = "I have 10 apples and 5 oranges."; let pattern = /\d+/g; let matches = str.match(pattern); console.log(matches); // ['10', '5'] ``` 2. 检查字符串是否包含特定的单词:使用正则表达式`\bword\b`可以匹配单词边界并检查字符串中是否包含指定的单词。 ```javascript let str = "The quick brown fox jumps over the lazy dog."; let pattern = /\bfox\b/; let result = pattern.test(str); console.log(result); // true ``` 3. 替换字符串中的文本:使用正则表达式和字符串的`replace()`方法可以替换字符串中的文本。 ```javascript let str = "I love JavaScript."; let pattern = /JavaScript/; let newStr = str.replace(pattern, "Python"); console.log(newStr); // "I love Python." ``` 4. 提取URL中的域名:使用正则表达式`/^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+)/`可以匹配URL中的域名部分。 ```javascript let url = "https://www.google.com/search?q=javascript"; let pattern = /^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+)/; let domain = url.match(pattern)[1]; console.log(domain); // "google.com" ``` 这些只是JavaScript正则表达式的一些用法示例,正则表达式在实际开发中有很多应用场景,如表单验证、爬虫、文本处理等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值