正则表达式:使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。

语法

  /正则表达式主体/修饰符(可选)

正则表达式修饰符

修饰符 描述
i 忽略大小写
g

全局搜索,不会在匹配上第一次的时候就停止匹配

m 执行多行匹配

var a = /H/i
var b = /H/
var c = 'hgdyjasggdjhsskhds'
console.log(a.test(c))  // true
console.log(b.test(c))  // falsevar d = /h/
var e = /h/g
console.log(c.replace(d,'QQ'))  // QQgdyjasggdjhsskhds
console.log(c.replace(e,'QQ'))  // QQgdyjasggdjQQsskQQds

View Code

表示字符

字符 功能
. 匹配任意字符(除了\n)
[] 匹配[]中列举的字符
\d 匹配数字,0-9
\D 匹配非数字
\s 匹配空白,即空格 tab键
\S 匹配非空白
\w 匹配单词字符,即a-z,A-Z,0-9,_
\W 匹非飞单词字符

var str = "ai shang dui fang guo hou jiu ku le & * % ^ ¥ # @ !$"
var a = /./gconsole.log(a.test(str)) // true
console.log(str.replace(a, 'q'))    // qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvar b = /[&*]/gconsole.log(str.replace(b, ' '))    // ai shang dui fang guo hou jiu ku le     % ^ ¥ # @ !$var str2 = "1234"
var str3 = " 12345 "console.log(/\d/g.test(str2))   // true
console.log(/\D/.test(str2))    // false
console.log(/\D/.test(str3))    // true

console.log(/\s/.test(str3))    // true
console.log(/\S/.test(" "))     // false

console.log(/\w/.test("123aD_"))    // true
console.log(/\W/.test("123aD_"))    // false
console.log('*********************')
console.log(/\w/.test("*&"))        // false
console.log(/\W/.test("*&"))        // true

View Code

表示次数

字符 功能
*  匹配前一个字符0次或无限次,即可有可无
+  匹配前一个字符1次或无限次,即至少出现1次
?  匹配前一个字符0次或1次,即要么出现一次,要么没有
{m}  匹配前一个字符出现m次
{m,}  匹配前一个字符至少出现m次
{m,n}  匹配前一个字符出现m到n次

表示边界

字符 功能
$ 以前面的一个字符结尾
^ 以后面的一个字符开头
\b 匹配一个单词的边界
\B 匹配非单词边界

匹配分组

字符 功能
 | 匹配左右两边任意一个字符
 () 将()中的字符作为一个整体
 \. 将 . 转义不在是匹配任意字符

字符串方法

  

  search():用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

var str = "zhangsan"
console.log(str.search('a')) // 2
replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
var str = "zhangsan"
console.log(str.replace('a', 'A')) // zhAngsan
console.log(str.replace(/a/, 'A')) // zhAngsan
match():用于检测一个字符串中是否有某个模式或者某个字符串,如果匹配成功则返回一个数组否则返回null

var str = "zhangsan"
var m = str.match('a')
console.log(m)      // [ 'a', index: 2, input: 'zhangsan' ]
console.log(m[0])   // a
console.log(m[1])   // undefind
console.log(m.index)    // 2

View Code

  split():用来把字符串用某种某种模式或者以某些字符拆分,匹配成功则返回一个数组否则将整个字符串放到数组中返回

var str = "zhang san"
var ss1 = str.split(' ')
var ss2 = str.split(/\s/)
var ss3 = str.split('l')console.log(ss1)     // [ 'zhang', 'san' ]
console.log(ss2)     // [ 'zhang', 'san' ]
console.log(ss2 instanceof Array)    // true

console.log(ss3)    // [ 'zhang san' ]

View Code

RegExp 对象

  test():是一个正则表达式方法,用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。

  

  exec():方法是一个正则表达式方法,用于检索字符串中的正则表达式的匹配。该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

转载于:https://www.cnblogs.com/peiyanh/p/9561234.html

JavaScript学习笔记——正则验证相关推荐

  1. 正则至少一个数字_好程序员web前端培训分享JavaScript学习笔记之正则

    好程序员web前端培训分享JavaScript学习笔记之正则,正则表达式,又名 "规则表达式" 由我们自己来书写 "规则",专门用来检测 字符串 是否符合 &q ...

  2. JavaScript学习笔记07【6个经典案例——电灯开关、轮播图、自动跳转首页、动态表格、表格全选、表单验证】

    Java后端 学习路线 笔记汇总表[黑马程序员] w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符. ...

  3. JavaScript学习笔记(九)(验证框架,layer弹出层)

    JavaScript学习笔记(九) 一.jQuery Validate验证框架 1.引入相关插件路径 2. 修改一些规则 3. 自定义验证规则 4.异步验证 整体代码 二.layer弹出层 1.引入相 ...

  4. JavaScript学习笔记03-数组-Data对象-Math对象-包装类-字符串-正则

    目录 一.数组 索引 数组的特点 1.1.数组的创建 1.1.1.使用new关键字(构造函数) 1.1.2.使用字面量形式 1.1.3.创建数组的注意事项 1.2.数组的基本使用 1.2.1.存操作( ...

  5. JavaScript学习笔记06【高级——JavaScript中的事件】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  6. JavaScript学习笔记03【基础——对象(RegExp、Global)】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  7. JavaScript学习笔记(三)---事件、正则表达式、ES6、运动

    JavaScript学习笔记(三)---事件.正则表达式.ES6.运动 27.insertbefore 28.滚动条及事件 29.事件及事件对象 30.鼠标事件对象的属性 31.案例:图片随鼠标移动 ...

  8. 【JavaScript学习笔记2】JS中常见的输出方式-控制台输出信息

    引言 在编程开发的过程中,输出信息是非常必要的.JS中提供了四种输出方式:弹出显示框.控制台输出.弹出输入框.弹出判断显示框 弹出显示框 这种方式在上一篇笔记中已经详细介绍,有需要学习的朋友可以跳转到 ...

  9. 千锋JavaScript学习笔记

    千锋JavaScript学习笔记 文章目录 千锋JavaScript学习笔记 写在前面 1. JS基础 1.1 变量 1.2 数据类型 1.3 数据类型转换 1.4 运算符 1.5 条件 1.6 循环 ...

  10. Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

最新文章

  1. 平方剩余(二次剩余)
  2. 访问数组元素进行获取
  3. Windows系统下,Android Studio的安装
  4. 常见的目标检测中的背景建模方法总结
  5. c++ getline 读不到东西_C++,使用getline一直读取不到文件中的内容
  6. vue导出Excel(二)
  7. 2.WindowsServer2012R2装完的一些友好化设置
  8. model.train()和model.eval()
  9. mysql必知必会第4版pdf百度网盘_SQL必知必会 第4版pdf
  10. 订单系统:订单生成及其状态机流转介绍
  11. matlab解常微分方程——符号解法
  12. java 判断邮箱_java使用正则表达式判断邮箱格式是否正确的方法
  13. Discuz模版制作流程
  14. 华三模拟器实现DHCP获取地址
  15. PHP的OpenSSL加密扩展学习(三):证书操作
  16. fseek,ftell,rewind函数
  17. 【时间序列】时间序列曲线平滑+预测(LSTM)
  18. 黑科技:程序猿如何打造属于自己的分体键盘
  19. python裂缝检测_基于卷积神经网络的高楼外墙裂缝检测系统
  20. vue 动态视频登陆界面 简约冷淡风

热门文章

  1. 孙鑫MFC笔记之十五--进程间通信
  2. 编译原理教程_1 引论
  3. 产品 电信nb接口调用_通用电信华为物联网IOT开放平台NB-IOT对接profile透传编解码插件离线定制开发...
  4. html插入循环图片,javascript – HTML5在带有for循环的画布上绘制图片?
  5. python获取随机大小写字母_python获取随机大小写字母
  6. 归并排序的空间复杂度
  7. c/c++_消除非标准警告
  8. Windows核心编程_代码段共享_LocalAlloc/GlobalAlloc区别
  9. Vaughn Vernon谈云原生和反应式现状
  10. 如何配置Ubuntu 16.04 GRUB 2引导加载程序