当前位置:千赢国际官网 > 千赢网页手机版登入 > 千赢国际官网JavaScript正则表达式的分组匹配详解

千赢国际官网JavaScript正则表达式的分组匹配详解

文章作者:千赢网页手机版登入 上传时间:2019-07-12

分组

一个菜单按钮特效案例,简单的实现了动态效果。

时间戳和时间日期的转换是常见的操作,下面就通过代码实例介绍一下如何实现它们之间的相互转换。

下面的正则表达式可以匹配kidkidkid:

废话不多说了,直接给大家贴代码了,代码写好不好,还请给位大侠多多指教。

在没学习本文之前先给大家介绍下javascript中Date()构造函数参数:

/kidkidkid/
<div class="bar" id="menubar">
<div class="menu" id="menu0">
</div>
<div class="menu" id="menu1">
</div>
<div class="menu" id="menu2">
</div>
</div>
.bar{
width:px;
height:px;
border:px solid #ccc;
border-radius:%;
position:fixed;
top:px;
right:px;
z-index:;
cursor:pointer;
}
.menu{
width:px;
height:px;
background-color:#ccc;
position:absolute;
transform:translated(-%,-%,);
left:%;
transition:all .s cubic-bezier(., ., ., .) s
}
#menu{
top:%;
}
#menu{
top:%;
}
#menu{
top:%;
}
window.onload = function () {
var menubar = document.getElementById("menubar");
var menu = document.getElementById("menu");
var menu = document.getElementById("menu");
var menu = document.getElementById("menu");
var i = ;
menubar.onclick = function () {
i  ;
if (i % == ) {
menu.style.top =   "%";
menu.style.display = "none";
menu.style.top =   "%";
menu.style.transform = "translated(-%,-%,) rotate(deg)";
menu.style.transform = "translated(-%,-%,) rotate(deg)";
}
else {
menu.style.transform = "translated(-%,-%,) rotate(deg)";
menu.style.transform = "translated(-%,-%,) rotate(deg)";
menu.style.top =   "%";
menu.style.top =   "%";
menu.style.display = "block";
}
}
}

关于Date对象大家想必一定不陌生,使用Date()构造函数创建一个时间对象是最基本的操作了,例如:

而另一种更优雅的写法是:

以上代码简单实现了动态按钮菜单特效,希望对大家有所帮助。

var theDate=new Date();
theDate.getDate();
/(kid){3}/

您可能感兴趣的文章:

  • extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
  • jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
  • 单击按钮显示隐藏子菜单经典案例
  • js使用DOM设置单选按钮、复选框及下拉菜单的方法
  • js css实现有立体感的按钮式文字竖排菜单效果
  • jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮
  • 轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
  • 基于Android实现点击某个按钮让菜单选项从按钮周围指定位置弹出
  • Bootstrap入门书籍之(四)菜单、按钮及导航
  • 第七章之菜单按钮图标组件

使用以上代码可以获取当前日期的天。

这里由圆括号包裹的一个小整体称为分组。

上面是对于Date()构造函数最简单的应用了,Date对象具有多种构造函数,下面简单列举如下:

候选

new Date()
new Date(milliseconds)
new Date(datestring)
new Date(year, month)
new Date(year, month, day)
new Date(year, month, day, hours)
new Date(year, month, day, hours, minutes)
new Date(year, month, day, hours, minutes, seconds)
new Date(year, month, day, hours, minutes, seconds, microseconds)

一个分组中,可以有多个候选表达式,用|分隔:

下面就对以上几个构造函数进行简单的分析。

var reg = /I love (him|her|it)/;

reg.test('I love him')  // true 
reg.test('I love her')  // true
reg.test('I love it')  // true
reg.test('I love them') // false

1.new Date(),没有参数的时候,创建的是当前时间日期对象。

这里的|相当于“或”的意思。

2.new Date(milliseconds),当参数为数字的时候,那么这个参数就是时间戳,被视为毫秒,创建一个距离1970年1月一日指定毫秒的时间日期对象。

捕获与引用

3.new Date(datestring),此参数是一个字符串,并且此字符串一定能够使用Date.parse()转换。

被正则表达式匹配(捕获)到的字符串会被暂存起来。其中,由分组捕获的串会从1开始编号,于是我们可以引用这些串:

4.以下六个构造函数是精确定义:

var reg = /(d{4})-(d{2})-(d{2})/
var date = '2010-04-12'
reg.test(date)

RegExp.$1 // 2010
RegExp.$2 // 04
RegExp.$3 // 12

1).year,是一个整数,如果是0-99,那么在此基础上加1900,其他的都原样返回。
2).month,是一个整数,范围是0-11。

$1引用了第一个被捕获的串,$2是第二个,依次类推。

3.day,是一个整数,范围是1-31。

与replace配合

4.hours,是一个整数,范围是0-23。

String.prototype.replace方法的传参中可以直接引用被捕获的串。比如我们想将日期12.21/2012改为2012-12-21:

5.minutes,是一个整数,范围是0-59。

var reg = /(d{2}).(d{2})/(d{4})/
var date = '12.21/2012'

date = date.replace(reg, '$3-$1-$2') // date = 2012-12-21

6.seconds,是一个整数,范围是0-59.

顺道一提,给replace传迭代函数,有时能优雅地解决一些问题。

7.microseconds,是一个整数,范围是0-9999。

将违禁词转换为等字数的星号是一个常见功能。比如文本是kid is a doubi,其中kid与doubi是违禁词,那么转换后应该为*** is a *****。我们可以这么写:

代码实例:

本文由千赢国际官网发布于千赢网页手机版登入,转载请注明出处:千赢国际官网JavaScript正则表达式的分组匹配详解

关键词: 千赢国际官网