这一节结束,我们的JavaScript学习总结系列文章第一阶段就要结束了,今后会适当的补充一些高级的内容,敬请期待。

好了,废话不说进入这一节的学习。

联动框

联动框,实在是太常见了。比如淘宝,我们选择地址的时候,选择了省份,淘宝就会自动列出来城市乡道的信息,这一小节我们要做的就是这个。

城市联动框

<head>
<meta charset="utf-8">
<title>联动框</title>
</head>
<script type="text/javascript">
function showCity(){
//维护一个二维数组,选择河北以及这几个城市是有原因滴。。。广西不太了解,瞎写的。。。
var citys = [[],["承德","廊坊","邯郸"],["广州","佛山","中山"],["a","b","c"],["海淀","朝阳","顺义"]];
//获取省份对应的节点
var provinceNode = document.getElementById("province");
//alert(provinceNode.selectedIndex); //获取对应的城市
var cityDatas = citys[provinceNode.selectedIndex]; //找到city节点
var cityNode = document.getElementById("city"); //先清空city中的所有option,删除的时候要注意,不能使用直接遍历的方式删除,
//可能会导致元素删不完全,我们可以每次只删除第一个元素,还有一种是直接设置options的个数即可,这种不做介绍
var children = cityNode.childNodes;
for(var i = 0; i<children.length ; ){
cityNode.removeChild(children[i]);
} //向select添加元素即可
for(var i=0;i<cityDatas.length;i++){
var optionNode = document.createElement("option");
optionNode.innerHTML = cityDatas[i];
cityNode.appendChild(optionNode);
} }
</script>
<body>
省份<select onChange="showCity()" id="province">
<option>省份</option>
<option>河北</option>
<option>广东</option>
<option>广西</option>
<option>北京</option>
</select>
城市<select id="city">
<option>城市</option>
</select>
</body>

操作元素的CSS样式

JavaScript除了能够操作标签元素之外,同样能够操作元素的CSS样式,以达到改变元素样式的作用。

下面我们的这个例子大家应该十分的熟悉,那就是验证码的生成。我们生成一个验证码,以达到操作验证码样式的作用。

<script type="text/javascript">
function createCode(){
//验证码数据
var datas = ["5","好","人","德","和","B","@","是","静","你"];
//验证码字符串,产生索引值
var code = "";
for(var i=0;i<4;i++){
var index = Math.floor(Math.random()*datas.length);
//得到字符串
code += datas[index];
}
var codeNode = document.getElementById("code");
codeNode.innerHTML = code;
//CSS样式的操作就是通过style实现的
codeNode.style.fontSize ="24px";
codeNode.style.color = "yellow";
codeNode.style.backgroundColor="red";
codeNode.style.textDecoration = "line-through";
} function ready(){
createCode();
}
</script> <body onLoad="ready()">
<span id="code"></span><a href="#" onClick="createCode()">看不清,换一个</a>
</body>

这就是一个验证码的简单实现方式,同时我们也他弄过了style属性来设置了CSS样式。

正则表达式

同样的,正则表达式同样也是一个对象,而创建正则表达式的方式共有两种。

方式1:
/正则表达式/模式
//java中的正则表达式是写在“”中的,不过js的正则用法和java中基本一致 方式2:
new RegExp("正则表达式",模式);

正则表达式的常用方法:

test()  使用正则对象去匹配字符串  如果匹配成功返回ture,否则返回false
exec() 根据正则表达式去查找字符串符合规则的内容

注意,JavaScript中的正则表达式十分的恶心,在正则表达式中没有边界匹配器的情况下,字符串只要能匹配到正则中的一部分,test就会返回true,所以加入边界匹配器是十分重要的 (^开始字符——$结束字符)。

一个简单的test()例子:

var str = "helloworld12345";
var reg = /^[a-z0-9]+$/; alert("匹配吗?"+reg.test(str));//true

那么什么是模式呢?模式可以理解为搜索的条件,加在模式位置就可以了。

g (全文查找出现的所有 pattern)   如果不加全文搜索模式,那么每次找到所要的内容,就会返回字符串开头重新找,然后电脑就炸了。
i (忽略大小写)

下面是一个exec()的例子:

//查找出三个字符组成的单词。
var str ="hao hao xue xi tian tain xiang shang;
var reg = /\b[a-z]{3}\b/gi;
var line ="";
while((line = reg.exec(str))!=null){
document.write(line+"<br/>")
}

JavaScript学习总结(八)的更多相关文章

  1. JavaScript学习笔记八

    本文依据慕课网课程<JavaScript进阶>学习整理 第8章 浏览器对象 8-1 window对象   window对象是BOM的核心.window对象指当前的浏览器窗体.   wind ...

  2. JavaScript学习总结(八)——JavaScript数组

    JavaScript中的Array对象就是数组,首先是一个动态数组,无需预先制定大小,而且是一个像Java中数组.ArrayList.Hashtable等的超强综合体. 一.数组的声明 常规方式声明: ...

  3. JavaScript学习 - 基础(八) - DOM 节点 添加/删除/修改/属性值操作

    html代码: <!--添加/删除/修改 --> <div id="a1"> <button id="a2" onclick=&q ...

  4. JavaScript学习(八)

  5. javascript学习笔记(四) Number 数字类型

    数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数  toExponential() 方法 用科学 ...

  6. JavaScript学习总结——转

    JavaScript学习总结(一)——JavaScript基础 JavaScript学习总结(二)——逻辑Not运算符详解 JavaScript学习总结(三)——逻辑And运算符详解 JavaScri ...

  7. JavaScript学习基础部分

    JavaScript学习基础 一.简介 1.JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer. Mozilla.Firefo ...

  8. javascript学习的思维导图

    今天逛师父的博客园,发现了好东西~~~~我给偷过来了~~~那就是javascript学习的思维导图,比自己整理更快速. 思维导图小tips: 思维导图又叫心智图,是表达发射性思维的有效的图形思维工具 ...

  9. JavaScript学习——使用JS完成页面定时弹出广告

    1.获取图片的位置(document.getElementById(“”))  隐藏图片:display:none 定时操作:setInterval(“显示图片的函数”,3000); 2.步骤分析 ( ...

随机推荐

  1. MQTT 协议学习:008-在STM32上移植MQTT

    前言 通过前面了解MQTT有关概念.分析了有关的报文,我们对于这个协议也有了更深的认识.但纸上谈来终觉浅,绝知此事要躬行. 本文参考:<STM32+W5500+MQTT+Android实现远程数 ...

  2. HDU1007 Quoit Design掷环游戏

    Quoit Design 看懂题意以后发现就是找平面最近点对间距离除以2. 平面上最近点对是经典的分治,我的解析 直接上代码 #include<bits/stdc++.h> using n ...

  3. EditText标签的使用

    前文: 介绍EditText的使用,这个是文本输入控件,用来输入文本内容 使用: EditText继承TextView所以TextView的东西EditText都可以使用 text:显示文本 text ...

  4. 一个基于chrome扩展的自动答题器

    1.写在前面 首先感谢小茗同学的文章-[干货]Chrome插件(扩展)开发全攻略, 基于这篇入门教程和demo,我才能写出这款 基于chrome扩展的自动答题器. git地址: https://git ...

  5. GLConsole的编译和使用

    1.在CVars文件中搜索tinyxml,去掉所有tinyxml的编译选项 2.Add the following line to the "CMakeLists.txt" fil ...

  6. Python基础笔记:字符串和编码

    1. 当处理文本时,需要现将文本转换为文字,一个字节为8位儿,一个字节最高表示整数255(1111 1111),对应255个状态: 最为人熟知的是ASCii码,ASCii码含128个状态,满足了英文编 ...

  7. Spark RDD 算子总结

    Spark算子总结 算子分类 Transformation(转换) 转换算子 含义 map(func) 返回一个新的RDD,该RDD由每一个输入元素经过func函数转换后组成 filter(func) ...

  8. office(CVE-2012-0158)漏洞分析报告

    2019/9/12 1.漏洞复现 ①发现崩溃 ②找到漏洞所在的函数,下断点,重新跑起来,单步调试,找到栈被改写的地方 ③分析该函数 把MSCOMCTL拖入IDA,查看该函数代码 ④查看调用栈,回溯. ...

  9. C语言-存储类&作用域&生命周期&链接属性

    1.概念解析(1)存储类 a.存储类就是存储类型,也就是描述C语言变量在何种地方存储. b.内存有多种管理办法:栈.堆.数据段.bss段..text段......一个变量的存储类属性就是描述这个变量存 ...

  10. mariadb主从

    实验环境: 两台centos7 master:192.168.1.6 slave:192.168.1.7 一.安装mariadb服务 [root@master ~]# yum -y install m ...