任务目的

  • 实践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. VB6制作的自定义ocx控件

    下载后,解压缩,有一个TreeviewExplorer.ocx文件 在Excel的开发工具选项卡,点击插入ActiveX控件 VBA窗体,VB6窗体.VB.Net窗体都可以使用这个自定义控件的功能. ...

  2. 导出Wireless组中的成员

    get-adgroupmember -Identity wireless  |export-csv -path C:\Group.csv -Encoding UTF8

  3. xpath-helper 插件下载

    链接:https://pan.baidu.com/s/1YuTGrdwwAKQd2sIcuarBHQ 提取码:qb8p

  4. C++ this指针详解(精辟)

    this 是 C++ 中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员. 所谓当前对象,是指正在使用的对象.例如对于stu.show();,stu 就是当前 ...

  5. made his acquaintance|adequate|advisable|announce|contrived to|made up|toss|considering that

    PHRASE 与(某人)初次相识;结识(某人)When you make someone's acquaintance, you meet them for the first time and ge ...

  6. perf4j @Profiled常用写法

    以下内容大部分摘抄自网络上信息. 1.默认写法 @Profiled 日志语句形如: 2009-09-07 14:37:23,734 [main] INFO org.perf4j.TimingLogge ...

  7. 蓝桥杯-PREV31-小朋友排队

    解法: 这题有点像冒泡排序,但是做这题并不需要冒泡排序. 假设第i个小朋友比第j个小朋友高,而且i < j 为了把队伍排成从小到大,第i个小朋友一定要去第j个小朋友的右边.又因为只能交换位置相邻 ...

  8. OpenCV Sobel 导数

    #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" #i ...

  9. nevertheless|magnificent |prosperous|

    ADV 然而;不过You use nevertheless when saying something that contrasts with what has just been said. Mos ...

  10. HDU-3579-Hello Kiki (利用拓展欧几里得求同余方程组)

    设 ans 为满足前 n - 1个同余方程的解,lcm是前n - 1个同余方程模的最小公倍数,求前n个同余方程组的解的过程如下: ①设lcm * x + ans为前n个同余方程组的解,lcm * x ...