任务目的

  • 实践JavaScript数组、字符串相关操作

任务描述

  • 基于任务四进行升级
  • 将新元素输入框从input改为textarea
  • 允许一次批量输入多个内容,格式可以为数字、中文、英文等,可以通过用回车,逗号(全角半角均可),顿号,空格(全角半角、Tab等均可)等符号作为不同内容的间隔
  • 增加一个查询文本输入框,和一个查询按钮,当点击查询时,将查询词在各个元素内容中做模糊匹配,将匹配到的内容进行特殊标识,如文字颜色等。举例,内容中有abcd,查询词为ab或bc,则该内容需要标识

任务注意事项

  • 实现简单功能的同时,请仔细学习JavaScript基本语法、事件、DOM相关的知识
  • 请注意代码风格的整齐、优雅
  • 代码中含有必要的注释
  • 建议不使用任何第三方库、框架

在线学习参考资料

基础JavaScript练习(三)总结

1、 正则表达式

正则表达式是一个对象,一个字母序列,组成一个搜索模式表示想搜索或替换的内容,这个搜索模式可用于搜索或替换,它可以为一个字母或更复杂的模式,可以表达文本搜索或文本替换的类型。

语法:

/pattern/modifiers;

使用字符串方法

在JavaScript中,正则表达式通常使用两个字符串的方法:search()和replace()。

search()方法用于匹配搜索,返回匹配字符串的位置。

replace()方法,返回被替换后的字符串。

正则表达式修饰符

修饰符用于执行不区分大小写的全局搜索。

i:不区分大小写

g:全局搜索(寻找所有匹配字符串,而不是找到第一个匹配后停止)

m:多行匹配

正则表达式模式

括号用于寻找一个字符序列。

[abc]:寻找括号中的任何一个字符。

[0-9]:寻找括号中的任何一个数字。

(x|y):寻找由“|”分开的任何一部分。

元字符是有特殊意义的字符

\d:寻找数字。

\s:寻找空格。

\b:匹配内容在单词开头或单词末尾。

\uxxxx:寻找由十六进制数字xxxx表示的Unicode字符。

除此意外还有:.、\w、\W、\D、\S、\B、\0、\n、\f、\r、\t、\v、\xxx、\xdd

量词定义数量

n+:匹配至少有一个n的字符串。

n*:匹配n出现零次或多次的字符串。

n?:匹配n出现零次或多次的字符串。

除此意外还有:n{x}、n{x,y}、n{x,}、n$、^n、?=n、?!n

test()方法

test()方法是一个正则表达式方法,它在字符串中寻找一种模式,根据结果返回true或者false。

eg:var patt = /e/;
patt.test("The best
things in life are free!");

2、 String search() Method

search()方法寻找一个字符串或一个特定的值,返回匹配字符串的起点位置。搜索的值可以为一个字符串也可以为一个正则表达式。如果没有匹配成功,返回-1。

语法:

string.search(searchvalue)

3、 JavaScript eval() Function

eval()函数执行或评估一个argument。当argument是一个表达式,eval()评估这个表达式,如果argument是一个或多个javascript语句,eval()执行这些语句。

语法:

eval(string)

string:一个JavaScript表达式,变量,语句或者语句序列。

4、 正则表达式中使用变量

(1)将变量表示为正则表达式形式的字符串

eg:var a = document.getElementById(“input_value”).value;

var b
= “/” + a + “/g”

(2)将字符串转为正则表达式。

var reg = eval(b);  //reg即为正则表达式

5、已提交作业

代码地址:https://github.com/Nunawading2016/2017-IFE-Baidu/blob/master/task2-6

Demo地址:http://htmlpreview.github.io/?https://github.com/Nunawading2016/2017-IFE-Baidu/blob/master/task2-6/index.html

基础JavaScript练习(三)总结的更多相关文章

  1. Javascript基础回顾 之(三) 面向对象

    本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...

  2. 零基础JavaScript编码(三)总结

    任务目的 在上一任务基础上继续JavaScript的体验 接触一下JavaScript中的高级选择器 学习JavaScript中的数组对象遍历.读写.排序等操作 学习简单的字符串处理操作 任务描述 参 ...

  3. JavaScript 基础 学习(三)

    JavaScript 基础 学习(三) 事件三要素 ​ 1.事件源: 绑定在谁身上的事件(和谁约定好) ​ 2.事件类型: 绑定一个什么事件 ​ 3.事件处理函数: 当行为发生的时候,要执行哪一个函数 ...

  4. 回归基础: JavaScript 变量提升

    from me: javascript的变量声明具有hoisting机制,它是JavaScript一个基础的知识点,也是一个比较容易犯错的点,平时在开发中,大大小小的项目都会遇到. 它是JavaScr ...

  5. js基础--javaScript数据类型你都弄明白了吗?绝对干货

    欢迎访问我的个人博客:http://www.xiaolongwu.cn 数据类型的分类 JavaScript的数据类型分为两大类,基本数据类型和复杂数据类型. 基本数据类型:Null.Undefine ...

  6. 前端笔记知识点整合之JavaScript(三)关于条件判断语句、循环语句那点事

      一.条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句. JS中有三种语法是可以表示条件分支的 1.1 if……else…… 条件分支的主力语法,这个主力 ...

  7. Vue基础系列(三)——Vue模板中的数据绑定语法

    写在前面的话: 文章是个人学习过程中的总结,为方便以后回头在学习. 文章中会参考官方文档和其他的一些文章,示例均为亲自编写和实践,若有写的不对的地方欢迎大家和我一起交流. VUE基础系列目录 < ...

  8. 学习javascript数据结构(三)——集合

    前言 总括: 本文讲解了数据结构中的[集合]概念,并使用javascript实现了集合. 原文博客地址:学习javascript数据结构(三)--集合 知乎专栏&&简书专题:前端进击者 ...

  9. JavaScript的三种工业化调试方法

    JavaScript的三种工业化玩法 软件工程中任何的语言如果想要写出健壮的代码都需要锋利的工具,当然JavaScript也不例外,很多朋友刚入门的时候往往因为工具选的不对而事半功倍,JavaScri ...

随机推荐

  1. mysql常用方法案例

    SELECTms.id,ms.name,ms.address,ms.mobile AS phone,ms.UUID,(case when ce.score is null then 0 else ce ...

  2. linux中的文件解压命令

    http://apps.hi.baidu.com/share/detail/37384818 download ADT link http://dl.google.com/android/ADT-0. ...

  3. Git ubuntu 升级

    外文文档 This team will distribute the most current stable package of Git for Ubuntu. Stable releases: h ...

  4. LGOJ2568 GCD

    Description link 给定整数\(n\),\(1 \leq x,y \leq n\)且\(gcd(x,y)\)为质数的\((x,y)\)的对数 \[1\leq n\leq 10^7\] S ...

  5. bootstrap的button按钮点击之后会有蓝色边框怎么解决?

    .btn:focus,.btn:active:focus, .btn.active:focus,.btn.focus, .btn:active.focus,.btn.active.focus { ou ...

  6. webpack4的迁移

    引用于https://www.jianshu.com/p/7ae252f27f09 感觉是突然之间,webpack4的消息就满天飞了,听说打包速度提高了很多,还有最大的噱头是实现了零配置,leader ...

  7. SpringMVC配置前端控制器的路径问题

    在使用SpringMVC时,都需要在web.xml中配置一个前端控制器DispatcherServlet 控制器是一个servlet,但这个路径配置就有很多种,之前都是以扩展名配置的路径,如*.do, ...

  8. 吴裕雄--天生自然 R语言开发学习:基础知识

    1.基础数据结构 1.1 向量 # 创建向量a a <- c(1,2,3) print(a) 1.2 矩阵 #创建矩阵 mymat <- matrix(c(1:10), nrow=2, n ...

  9. 浮动框架iframe

    浮动框架式一种比较特别的框架,和frame比较类似.不过frame必须在frameset中才可以,而iframe不一样,首先, 他是一种内联框架,其次,他可以放在网页中的任何位置. 所以,iframe ...

  10. FPGA底层的时钟布线以及内部layout

    https://wenku.baidu.com/view/441549fef111f18582d05a70.html 全局时钟是最简单的最可预测的时钟,时钟方案:有专用的时钟输入(提供最短的始终输出延 ...