正则表达式:RegEnts。专门验证字符串中字符出现的规则的定义规则,若不符合规则,提示错误。写在//中

/[备选字符]/

/[1,2,3]/ 表示输入1、2、3都对,一个[]只能代表一位字符的匹配规则,几位数就有几个[]。

例如手机号的匹配:

var reg=/[1][3456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789]/

显而易见,这种形式的正则表达式实在是太麻烦了,进一步简化:正则表达式对任何连续的区间都可以用横线连接。

var reg=/[1][3-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/

对于后9位数字,是重复的,有没有规则做到相同的规则只需要写一次?那必然是有的:数量词写在{}中表示前一位规则重复多少次

var reg=/[1][3-9][0-9]{9}/

若想修饰多位规则,可以加小括号:

var reg=/[1]([3-9][0-9]){9}/;   此时表示的是19位数的正则表达式

{}表示规则重复次数的完整说明:{num},重复num次;{min,},至少重复min次;{min,max},至少重复min次,至多重复max次。

特殊数量词

1. ? 代表前面一位规则可有可无,最多一次

2. *   代表前一位规则可有可无,不限次数,相当于{0,}

3. +  代表前一位至少出现一次,相当于{1,}

预定义字符集:

\d:代表所有数字,相当于[0-9];

\w:所有数字、字母、下划线,范围比\d更广;

\s:空格;

· (圆点):任意字符;

[]里若只有1位备选字符或只有一个预定义字符集,[]可以省略;

注意对于在正则表达式里有特殊含义的字符要想作为普通字符用,要用反斜线“\”转义。

综上,最终简化的手机号正则表达式为:

var reg=/1[3-9]\d{9}/

字符串的检验方法:test(),用来检验字符串格式是否正确,返回boolean值

reg.test("被检验的数据")

var reg=/1[3-9]\d{9}/

var num="18932785677";

if(reg.test(num)){

alert("成功!")

}else{

alert("手机号格式有误")

}

注意!test方法默认部分匹配,即找一段连续的能匹配的,前后是否多内容无影响,所以直接用test匹配可能会出现形式错误但匹配成功的情况。解决:在整个正则表达式的开头加^代表以……开头,在整个表达式的结尾加$,代表以……结尾

var reg=/^1[3-9]\d{9}$/

再写一个邮箱的正则表达式:

/^\w+@\w([-]\w+)*(\.\w+)+$/

js小白之路(八)——正则表达式相关推荐

  1. js小白之路(十一)——原型与继承

    原型:prototype.方法背后,专门保存由方法创建出来的对象的共有数据 构造函数(对象模板):专门用来反复创建相同结构的对象的专门的方法.new后面跟的都是构造函数. function Stude ...

  2. [js高手之路]从原型链开始图解继承到组合继承的产生

    于javascript原型链的层层递进查找规则,以及原型对象(prototype)的共享特性,实现继承是非常简单的事情 一.把父类的实例对象赋给子类的原型对象(prototype),可以实现继承 1 ...

  3. [js高手之路]原型对象(prototype)与原型链相关属性与方法详解

    一,instanceof: instanceof检测左侧的__proto__原型链上,是否存在右侧的prototype原型. 我在之前的两篇文章 [js高手之路]构造函数的基本特性与优缺点 [js高手 ...

  4. 【GISer小O】JAVA后台的小白之路(一)_2 ——分分合合三剑客

    [GISer小O]JAVA后台的小白之路(一)_2 --分分合合三剑客 本文简单介绍Web开发中的三剑客:HTML/CSS/Javascript,阐述其关系.然后用示例demo讲解三者的分分合合.相关 ...

  5. 原生js由html创建节点,[js高手之路]HTML标签解释成DOM节点的实现方法

    最近在封装一个开源框架,已经写了500行, 已经具备jquery的大多数常用功能,后面还会扩展大量的工具函数和MVVM双向驱动等功能.跟jquery的使用方法完全一样,jquery的选择器,几乎都能支 ...

  6. [js高手之路]设计模式系列课程-发布者,订阅者重构购物车

    发布者订阅者模式,是一种很常见的模式,比如: 一.买卖房子 生活中的买房,卖房,中介就构成了一个发布订阅者模式,买房的人,一般需要的是房源,价格,使用面积等信息,他充当了订阅者的角色 中介拿到卖主的房 ...

  7. [js高手之路]打造通用的匀速运动框架

    本文,是接着上文[js高手之路]匀速运动与实例实战(侧边栏,淡入淡出)继续的,在这篇文章的最后,我们做了2个小实例:侧边栏与改变透明度的淡入淡出效果,本文我们把上文的animate函数,继续改造,让他 ...

  8. [js高手之路]深入浅出webpack教程系列9-打包图片(file-loader)用法

    [js高手之路]深入浅出webpack教程系列索引目录: [js高手之路]深入浅出webpack教程系列1-安装与基本打包用法和命令参数 [js高手之路]深入浅出webpack教程系列2-配置文件we ...

  9. [js高手之路] html5 canvas系列教程 - 线条样式(lineWidth,lineCap,lineJoin,setLineDash)

    上文,写完弧度与贝塞尔曲线[js高手之路] html5 canvas系列教程 - arcTo(弧度与二次,三次贝塞尔曲线以及在线工具),本文主要是关于线条的样式设置 lineWidth: 设置线条的宽 ...

最新文章

  1. java 自带thread分析工具_java自带的jvm分析工具
  2. HDU - 3364 Lanterns(高斯消元解方程(取模))
  3. 《Python参考手册(第4版•修订版)》——1.4 文件输入和输出
  4. 服务器损坏mysql修复_云服务器mysql数据库损坏修复mysql
  5. Codeforces Round #615 (Div. 3) A-F
  6. 小程序 报错errMsg: “hideLoading:fail:toast can‘t be found“ ?
  7. 拜登政府撤销对Tik Tok和Wechat禁令 启动对外国应用审查
  8. 使用Arcpy进行数据批处理-批量裁剪
  9. linux PDF转换为SWF
  10. 阿克曼函数求解(递归和非递归)
  11. php进度台帐管理系统,捷雅途 - 工程量0号台账管理系统快速操作说明
  12. 离线使用yum·无法使用yum的情况下安装软件·最简单的方法
  13. 华为云学院新春大礼包:场景化微认证上新了!
  14. 常用网络命令:ping命令的使用
  15. tableview中cell折叠的功能
  16. swiper 轮播 多行多列 横向排列
  17. 智能车八邻域图像算法
  18. android 腾讯x5浏览器,【Android Web】腾讯X5浏览器的集成与常见问题
  19. micropython stm32f429 tft_基于STM32F429的TFT0.96屏幕驱动
  20. 高级工程师面试 - PHP

热门文章

  1. java stringtokenizer_java StringTokenizer用法
  2. 卡通农场安卓服务器无响应,《最强蜗牛》游戏进不去怎么办 服务器无响应解决办法分享...
  3. 获得UAA access token
  4. Hexo Next开启阅读全文
  5. 用php打出2020年是庚子鼠年,关于2020庚子鼠年,你应该知道的事儿
  6. 为什么tcp的TIME_WAIT状态要维持2MSL
  7. 矩阵的相似与特征值和特征向量定义
  8. 20、Gateway 过滤器
  9. 可爱风PPT模板,专门为老师打造的儿童风格PPT模板
  10. greys线上调试代码