资讯详情

7.26 Day29---前端---正则表达式

正则表达式

进阶

建一个14.正则表达式 HTML文件

常用的正则表达式:

建一个15.用户注册 HTML文件

建一个17.Home主页 HTML文件


正则表达式

正则表达式是匹配字符串的强大武器。它的设计理念是用描述性的语言定义字符串的规则。我们认为符合规则的字符串是匹配的,否则字符串是非法的。

因此,我们判断字符串是否合法Email的方法是:

  1. 创建匹配Email正则表达式;

  2. 用这种正则表达式来匹配用户的输入来判断它是否合法。

因为正则表达式也是用字符串表示的,所以首先要知道如何用字符来描述字符。

在正则表达式中,如果直接给出字符,则准确匹配。\d可以匹配一个数字,\w可以匹配一个字母或数字,所以:

  • '00\d'可以匹配'007',但无法匹配'00A'

  • '\d\d\d'可以匹配'010'

  • '\w\w'可以匹配'js'

.任何字符都可以匹配,所以:

  • 'js.'可以匹配'jsp''jss''js!'等等。

在正则表达式中,应匹配变长的字符*使用任何字符(包括0个) 表示至少一个字符,用?表示0个或1个字符,使用{n}用n个字符{n,m}表示n-m个字符:

让我们复杂的例子:\d{3}\s \d{3,8}

让我们从左到右解释一下:

  1. \d{3}表示匹配三个数字,例如'010'

  2. \s可以匹配一个空间(也包括Tab等空白符),所以\s 至少有一个空间,比如匹配' ''\t\t'等;

  3. \d{3,8}例如,表示3-8个数字,'1234567'

综上所述,上述正则表达式可以与任何空间隔开的带区号的电话号码相匹配。

如果要匹配'010-12345'这样的号码呢?'-'在正则表达式中使用特殊字符'\'因此,上述正则是\d{3}\-\d{3,8}

但是,还是无法匹配'010 - 12345',因为有空间。因此,我们需要更复杂的匹配方法。

进阶

为了更准确地匹配,可以使用[]例如:

  • [0-9a-zA-Z\_]可匹配数字、字母或下划线;

  • [0-9a-zA-Z\_] 至少可以匹配由一个数字、字母或下划线组成的字符串,如'a100''0_Z''js2015'等等;

  • [a-zA-Z\_\$][0-9a-zA-Z\_\$]*可与字母或下划线相匹配,$开头,接任何一个,由一个数字、字母或下划线,$组成的字符串,也就是JavaScript允许变量名;

  • [a-zA-Z\_\$][0-9a-zA-Z\_\$]{0, 19}变量的长度是1-20个字符(前一个字符) 最多19个字符)。

A|BA或者可以匹配B,所以(J|j)ava(S|s)cript可以匹配'JavaScript''Javascript''javaScript'或者'javascript'

^表示行的开头,^\d必须从数字开始。

$表示行的结束,\d$表示必须以数字结束。

你可能注意到了,js也可以匹配'jsp',但是加上^js$成为整行匹配,只能匹配'js'了。

建一个14.正则表达式 HTML文件

常用的正则表达式:

  • ^[a-zA-Z0-9_-] @[a-zA-Z0-9_-] (\.[a-zA-Z0-9_-] ) $

  • ^1(3[0-9]|5[0-3,5-9]|7[1-3,5-8]|8[0-9])\d{8}$

  • ^[1-9]\d{5}(18|19|20|(3\d))\d(0[1-9]|(1[0-2])([0-2][1-9]|10|20|30|31)\d{3}[0-9Xx]$
  • ^.*(?=.(6)(=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*?]).*$

建一个15.用户注册 HTML文件

建一个17.Home主页 HTML文件

标签: jss48a一2z继电器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台