任务目的

  • 实践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. 5)void万能指针

    函数参数为空,定义函数时,可以使用void来修饰:int fun(void) 函数没有返回值:void fun(void) 不同定义void类型的普通变量:void a     //原因是,无法确定类 ...

  2. GIL锁和进程/线程池

    GIL锁 1.GIL锁 全局解释器锁,就是一个把互斥锁,将并发变成串行,同一时刻只能有一个线程使用共享资源,牺牲效率,保证数据安全,也让程序员避免自己一个个加锁,减轻开发负担 带来的问题 感觉单核处理 ...

  3. [LC] 191. Number of 1 Bits

    Write a function that takes an unsigned integer and return the number of '1' bits it has (also known ...

  4. 苹果联合创始人高调宣布弃用Facebook是什么梗?

    这段时间,扎克伯格非常郁闷.泄密丑闻不仅让Facebook股价大跌.引来审查等,还被众多互联网.科技大佬批判.孤立.如,"钢铁侠"马斯克就直接删除了SpaceX 和特斯拉的 Fac ...

  5. 深入理解 C/C++ 数组和指针

    本文转载自CSDN@WalkingInTheWind,原文链接:https://blog.csdn.net/luckyxiaoqiang/article/details/7044380 C语言中数组和 ...

  6. 查看github仓库的地址

  7. python djangjo完整的实现添加的实例

    实现:点击添加实现模态对话框,添加数据并显示. urls.py from django.conf.urls import url from django.contrib import admin fr ...

  8. python——实现三级菜单选择的功能(原创)

    #coding:utf-8 dict={'beijing':{'haidingqu':['qinghe','keji'],'chaoyangqu':['q','w']},'shandong':{'li ...

  9. 前端学习之路CSS基础学习二

    CSS属性相关 样式操作: (1)width:为元素设置宽度 (2)height:为元素设置高度 ps:块儿级标签才能设置长宽行内标签设置长宽没有任何影响 p{ width: 30px; height ...

  10. 从TP-Link到雷蛇,纷纷入局智能手机业到底想干什么?

    ​   "眼看他起朱楼,眼看他宴宾客,眼看他楼塌了",这句形容世态炎凉的话其实与智能手机市场更为相像.诺基亚的辉煌与没落.黑莓的强势与消声无迹.摩托罗拉的数次易手.小米的横空出世与 ...