获取文本框
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>DOM编程-获取文本框的value</title>
</head>
<body>
<script type="text/javascript">
/*
1、JavaScript包括三大块:
ECMAScript:JS核心语法(ES规范/ ECMA-262标准)
DOM:document object model(文档对象模型:对网页当中的节点进行增删改的过程。)HTML文档被当做一颗DOM树来看待。
var domObj = document.getElementById("id");
BOM: browser object model(浏览器对象模型)
关闭浏览器窗口。打开一个新的浏览器窗口,后退,前进,浏览器地址栏上的地址等,都是DOM编程。
2、BOM和DOM的区别和联系?
BOM的顶级对象是:window
DOM的顶级对象是:document
实际上BOM是包括DOM的
*/
// window.onload = function(){
// var btnElt = document.getElementById("btn");
// alert(btnElt);
// }
window.onload = function(){
var btnElt = document.getElementById("btn");
btnElt.onclick = function(){
/*
// 获取到username的节点
var usernameElt = document.getElementById("username");
alert(usernameElt.value);
*/
// alert(document.getElementById("username").value);
//可以修改他的value
document.getElementById("username").value = "张三"
}
}
</script>
<!-- <input type="button" id="btn" value="hello" /> -->
<input type="text" id="username" />
<input type="button" value="获取文本框的value" id="btn" />
<hr>
<script type="text/javascript">
window.onload = function(){
document.getElementById("setBtn").onclick = function(){
//获取第一个框的value
var username1Elt = document.getElementById("username1");
//赋值
document.getElementById("username2").value = username1Elt.value;
}
}
</script>
<br>
<input type="text" id="username1" />
<br>
<input type="text" id="username2" />
<br>
<input type="button" value="将第一个文本框的value赋值到第二个文本框中" id="setBtn" />
<br>
<!-- blur事件:失去焦点事件 -->
<!-- 一下代码中的this代表的是当前input节点对象,this.value就是这个节点对象的value属性。 -->
<input type="text" onblur="alert(this.value)" />
</body>
</html>
DOM编程-innerHTML和innerText操作div和span
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>DOM编程-innerHTML和innerText操作div和span</title>
<style type="text/css">
#div1{
background-color: aqua;
width: 300px;
height: 300px;
border: 0.0625rem black solid;
position: absolute;
top: 6.25rem;
left: 6.25rem;
}
</style>
</head>
<body>
<!--
innerText和innerHTML属性有什么区别?
相同点:都是设置元素内部的内容
不同点:
innerHTML会把后面的“字符串”当做一段HTML代码来解释并执行。
innerText,即使后面是一段HTML代码,也只是将其当做普通的字符串来看待。
-->
<script type="text/javascript">
window.onload = function(){
document.getElementById("btn").onclick = function(){
//设置div内容
//第一步:获取div对象
var divElt = document.getElementById("div1");
//第二步:使用innerHTML属性来设置元素内部的内容
//divElt.innerHTML="123132131";
//divElt.innerHTML = "<font color='red' >用户名不能为空!</font>"
divElt.innerText = "<font color='red' >用户名不能为空!</font>";
}
}
</script>
<input type="button" value="设置div的内容" id="btn" />
<div id="div1"></div>
</body>
</html>
DOM编程-关于正则表达式
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>DOM编程-关于正则表达式</title>
</head>
<body>
<script type="text/javascript">
/*
1.什么是正则表达式,有什么用?
正则表达式:Regular Expression
正则表达式主要用在字符串格式匹配方面。
2.正则表达式实际上是一门独立的学科,在java语言中支持,c语言中支持,javascript中也支持。
大部分编程语言都支持正则表达式。正则表达式最初用在医学方面,用来表示神经符号等。目前使用最多
的是计算机编程领域,用做字符串格式匹配。包括搜索方面等。
3.正则表达式,对于我们javascript编程来说,掌握哪些内容呢?
第一:常见的正则表达式符号要认识。、
第二:简单的正则表达式要会写。
第三:他人编写的正则表达式要能看懂。
第四:在javascript当中,怎么创建正则表达式对象!(new对象)
第五:在javascript当中,正则表达式对象有哪些方法!(调方法)
第六:要能够快速的从网络上找到自己需要的正则表达式、并且测试其有效性。
4.常见的正则表达式符号?
. 匹配除换行符以外的任意字符串
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
\W 匹配任意不是字母或数字或下划线或汉字
\S 匹配任意不是的空白符
\D 匹配任非数字
\B 匹配不是单词的开始或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符
正则表达式当中的小括号()优先级最高
[1-9] 表示1到9的任意1个数字(次数是1次)
[A-Za-z0-9] 表示A-Za-z0-9中的任意1个字符
[A-Za-z0-9-] 表示A-Z、a-z、0-9、-,中的任意1个字符
7、怎样创建正则表达式对象,怎么调用正则表达式的方法?
第一种创建:
var regExp = /正则表达式/flags;
第二种创建:
var regExp = new RegExp("正则表达式","flags");
关于flags:
g:全局匹配
i:忽略大小写
m:多行搜索(ES规范制定之后才支持)当前面的正则表达式的时候。m不能用,只有前面是普通字符串的时候m才可用
正则表达式对象的test() 方法
true / false = 正则表达式对象.test(用户填写)
*/
</script>
</body>
</html>
去除字符串的前后空白trim
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>去除字符串的前后空白trim</title>
</head>
<body>
<script type="text/javascript">
//低版本的IE浏览器不支持字符串的trim()函数
//可以对自己的String类扩展一个全新的trim()函数!
String.prototype.trim = function(){
//alert("这是扩展的trim方法");
// return this.replace(/^\s+/,"").replace(/\s+$/,"");
return this.replace(/^\s+|\s+$/g,"")
}
window.onload = function(){
document.getElementById("btn").onclick = function(){
//获取用户名
var username = document.getElementById("username").value;
//去除前后空白
username = username.trim();
// 测试
alert("--->" + username + "<---");
}
}
</script>
<input type="text" id="username" />
<input type="button" value="提交" id="btn" />
</body>
</html>
表单验证
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>表单验证</title>
</head>
<body>
<style type="text/css">
span{
color: red;
font-size: 0.75rem;
}
</style>
<script type="text/javascript">
window.onload = function(){
// 给用户名文本框绑定blur事件
var usernameElt = document.getElementById("username");
// 获取username的span标签
var usernameErrorSpan = document.getElementById("usernameError");
var pwdErrorSpan = document.getElementById("pwdError");
// 绑定失去焦点
usernameElt.onblur = function(){
//获取用户名
var username = usernameElt.value;
//去除前后空白
username = username.trim();
//判断用户名是否为空
// if(username.length == 0)
// if(username === "")
if(username){
//代表username不是空字符串
// 继续判断长度[6-14]
if(username.length < 6 || username.length >14){
//用户名不合法
usernameErrorSpan.innerText = "用户名长度必须在[6-14]之间"
}else{
//继续判断用户名是否含有特殊符号
var regExp = /^[A-Za-z0-9]+$/;
var ok = regExp.test(username);
if(ok){
// 用户名合法
}else{
usernameErrorSpan.innerText = "用户名只能由数字和字母组成";
}
}
}else{
//代表username是空字符串
usernameErrorSpan.innerText = "用户名不能为空!"
}
}
//绑定获得焦点
usernameElt.onfocus = function(){
// 清空非法value
if(usernameErrorSpan.innerText != ""){
usernameElt.value = "";
}
// 清空span
usernameErrorSpan.innerText = "";
}
// 获取确认密码框对象
var userpwd2Elt = document.getElementById("userpwd2");
// 绑定blur事件
userpwd2Elt.onblur = function(){
// 获取密码和确认密码
var userpwdElt = document.getElementById("userpwd");
var userpwd = userpwdElt.value;
var userpwd2 = userpwd2Elt.value;
if(userpwd != userpwd2){
// 密码不一致
pwdErrorSpan.innerText = "密码不一致!";
}else{
// 密码一致
pwdErrorSpan.innerText = "";
}
}
// 绑定focus事件
userpwd2Elt.onfocus = function(){
if(pwdErrorSpan.innerText != ""){
userpwd2Elt.value = "";
}
pwdErrorSpan.innerText = "";
}
// 获取email的span事件
var emailSpan = document.getElementById("emailError");
// 给emal绑定blur事件
var emailElt = document.getElementById("email");
emailElt.onblur = function(){
// 获取email
var email = emailElt.value;
// 编写正则
var emailRegExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w([-.]\w+)*$/;
var ok = emailRegExp.test(email);
if (ok){
//合法
}else{
//不合法
emailSpan.innerText = "邮箱地址不合法!";
}
emailElt.onfocus = function(){
if(!ok){
emailElt.value = "";
}
emailSpan.innerText = "";
}
}
//给提交按钮绑定鼠标单击事件
var submitBtnElt = document.getElementById("submitBtn");
submitBtn.onclick = function(){
//代码触发 username userpwd2 email 的 blur 和 focus事件
usernameElt.focus();
usernameElt.blur();
userpwd2Elt.focus();
userpwd2Elt.blur();
emailElt.focus();
emailElt.blur();
//当所有表单项都是合法的时候,提交
if(usernameElt.innerText == "" && userpwd2Elt.innerText == "" && emailElt.innerText == "");
var userFromElt = document.getElementById("userFrom");
userFromElt.submit();
}
}
}
</script>
<!-- 一般使用post,这里为了测试,所以使用get。 -->
<form id="userFrom" action="http://localhost:8080/jd/save" method="get">
用户名<input type="text" name="username" id="username" /><span id="usernameError"></span><br>
密码<input type="text" name="userpwd" id="userpwd" /><br>
确认密码<input type="text" id="userpwd2" /><span id="pwdError"></span><br>
邮箱<input type="text" name="email" id="email" /><span id="emailError"></span><br>
<input type="button" id="submitBtn" value="提交" />
<input type="reset" id="" value="重置" />
</form>
</body>
</html>
复选框的全选和取消全选
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>复选框的全选和取消全选</title>
</head>
<body>
<script type="text/javascript">
// window.onload = function(){
// var firstChk = document.getElementById("firstChk");
// firstChk.onclick = function(){
// // 获取第一复选框选中的状态(复选框对象checkbox对象)
// var aihaos = document.getElementsByName("aihao");
// if(firstChk.checked){
// //全选
// for (var i = 0; i < aihaos.length; i ++){
// aihaos[i].checked = true;
// }
// }else{
// //取消全选
// for (var i = 0; i < aihaos.length; i ++){
// aihaos[i].checked = false;
// }
// }
// }
// }
window.onload = function(){
// 获取第一复选框选中的状态(复选框对象checkbox对象)
var aihaos = document.getElementsByName("aihao");
var firstChk = document.getElementById("firstChk");
firstChk.onclick = function(){
for (var i = 0; i < aihaos.length; i ++){
aihaos[i].checked = firstChk.checked;
}
}
var all = aihaos.length;
for (var i = 0; i < aihaos.length; i ++){
aihaos[i].onclick = function(){
var checkedCount = 0;
for(var i = 0; i < aihaos.length; i ++){
if(aihaos[i].checked){
checkedCount ++;
}
}
firstChk.checked = (all == checkedCount);
}
}
}
</script>
<input type="checkbox" id="firstChk" /><br>
<input type="checkbox" name="aihao" value="smoke"/> 抽烟<br>
<input type="checkbox" name="aihao" value="drink" /> 喝水<br>
<input type="checkbox" name="aihao" value="tt" /> 烫头
</body>
</html>
获取下拉列表选项中的value
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>获取下拉列表选项中的value</title>
</head>
<body>
<script type="text/javascript">
window.onload = function(){
var provinceListElt = document.getElementById("provionce");
provinceListElt.onchange = function(){
alert(provinceListElt.value);
}
}
</script>
<select id="provionce">
<option value ="">--请选择省份--</option>
<option value = "001">山西省</option>
<option value = "002">山东省</option>
<option value = "003">河南省</option>
<option value = "004">河北省</option>
</select>
</body>
</html>
显示网页时钟
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>显示网页时钟</title>
</head>
<body>
<script type="text/javascript">
/*
关于js中内置的支持类:Data ,可以用来获取时间/日期
*/
//获取系统当前时间
var nowTime = new Date();
//输出
document.write(nowTime)
document.write("<br>")
// 换成具有本地语言环境的日期格式
nowTime = nowTime.toLocaleString();
document.write(nowTime);
document.write("<br>")
//可以通过获取年月日等信息,自定义格式
var t = new Date();
var year = t.getFullYear();
var moth = t.getMonth();
// var dayOfWeek = t.getDay(); // 获取的一周的第几天(0-6)
var day = t.getDate();
document.write(year + "年" + moth + "月" + day + "日");
document.write("<br>")
//如何获取毫秒数
var times = t.getTime();
document.write(times); //一般会使用毫秒数当时间戳
document.write("<br>")
document.write("<br>")
</script>
<script type="text/javascript">
function displayTime(){
var time = new Date();
var strTime = time.toLocaleString();
document.getElementById("timeDiv").innerHTML = strTime;
}
function start(){
// 从这行代码执行结束开始,则会不间断的,每隔1000毫秒调用一次
v = window.setInterval("displayTime()",1000);
}
function stop(){
window.clearInterval(v)
}
</script>
<input type="button" value="显示系统时间" onclick="start()" />
<input type="button" value="停止系统时间" onclick="stop()"/>
<div id="timeDiv"></div>
</body>
</html>
内置支持类型
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>内置支持类型</title>
</head>
<body>
<script type="text/javascript">
/*
数组类型随意
数组自动模拟栈数据结构,先进后出
下标越界的时候会自动扩容
*/
//创建的俩种方式
var arr = []
var arr2 = new Array();
</script>
</body>
</html>