javascript
{<!--
1.javascript是严格区分大小写的语言
2.javascript变量是没有类型 数据是有类型的 或者说变量的要根据数据来定
3.javascript不能使用未经声明的变量
-->
<script type="text/javascript">
/*var first;
var second = null;
var third = true;
var fourth = 155;
var fifth = 155.99;
var sixth = "大家好";
var person = {age:18,name:"嚣张",passwd:'888888'};
//alert(aaaa);不能使用未经声明的变量
alert(first);
alert(second);
alert(third);
alert(fourth);
alert(fifth);
alert(sixth);
alert(person.name);
alert(person.passwd);
alert(person.age);
var strs = new Array();
strs[0] = "李世民";
strs[1] = "李白";
strs[2] = "李小龙";
strs[3] = "李连杰";
strs[4] = "李冰冰";
strs[5] = "李清照";
if(strs.length < 1){
alert("数组是空的");
}else{
for(var i = 0; i < strs.length ; i++){
alert(strs[i]);
}
}*/
var first = "199";
var second = 199;
//单等号(=)是赋值
//双等号(==)是判断是否相等 非严格相等 即不考虑类型 只考虑值
//三等号(===)判断是否严格相等
if(first == second){
alert("他们是相等的");
}else{
alert("他们是不等的");
}
if(first === second){
alert("他们严格相等的");
}else{
alert("他们严格意义上是不等的");
}
</script>
}
function:{
<script type="text/javascript">
var first = "全局变量";
/*
* 1.函数以关键字function定义
* 2.函数名上不要写返回值的类型 但是函数是有返回值 直接return返回值即可
* 3.括号中式参数的列表 注意:参数的定义不要加var
*/
function testMethod(){
//return obj+obj1;
var second = "局部变量";
third = "这是什么";//对于不加var的局部变量 当它执行后就变成了全局的变量 注意 不要这么定义
alert(first);
alert(second);
alert(third);
}
function firstMethod(){
alert(first);
alert(third);
}
/*
* javascript获取页面中表单域的value属性值时 都是字符串类型
*/
function testFunction(){
/*var first = "155";
var second = "165";
var total = parseFloat(first)+parseFloat(second);
alert("结果为:"+total);
var str = "154512a4";
if(isNaN(str)){
alert("不是一个数字");
}else{
alert("是一个数字");
}
var first = "打到小岛国";
alert("未经转换的" + first);
first = escape(first);
alert("转换后的" + first);
first = unescape(first);
alert("转换回来的" + first);*/
var str = "var aaa = 'fafafa';";
eval(str);
//eval(str)就是执行str 其中str是对应的javascript的代码
alert(aaa);
}
</script>
</head>
<body>
<input type="button" value="测试1" onclick="testMethod()">
<input type="button" value="测试2" onclick="firstMethod()">
<input type="button" value="测试内部函数" onclick="testFunction()">
</body>
}
页面显示时钟:{
function testMethod(){
var date = new Date();
document.getElementById("shizhong").innerHTML = date.toLocaleString();
setTimeout("testMethod()",1000);
}
Web学习网址:http://www.w3school.com.cn
}
收件箱:{
<script type="text/javascript">
/*
* 验证的是是否有选中的复选按钮
*/
function checkForm(){
var flag = false;
var emails = document.getElementsByName("email");
for ( var i = 0; i < emails.length; i++) {
if(emails[i].checked){
flag = true;
break;
}
}
if(!flag){
alert("请至少选中一封要删除的邮件");
}else{
flag = confirm("删除后不能恢复,确认删除?");
}
return flag;
}
function selectAll(){
var strs = document.getElementsByName("email");
for ( var i = 0; i < strs.length; i++) {
strs[i].checked = true;
}
}
function cancelAll(){
var strs = document.getElementsByName("email");
for ( var i = 0; i < strs.length; i++) {
strs[i].checked = false;
}
}
function selectOthers(){
var strs = document.getElementsByName("email");
for ( var i = 0; i < strs.length; i++) {
strs[i].checked = !strs[i].checked;
}
}
</script>
</head>
<body>
<form action="testdate.html" method="post" onsubmit="return checkForm()">
<input type="checkbox" name="email" value="0"/>今天某地发生了黄色预警 要有暴雨天气
<br>
<input type="checkbox" name="email" value="1"/>深圳也发生了电梯逆转现象 导致3人轻伤
<br>
<input type="checkbox" name="email" value="2"/>有些同学太过于放松自己了 需要自觉些<br>
<input type="checkbox" name="email" value="3"/>中国的军事力量争取早日达到世界第一的水平
<br>
<input type="checkbox" name="email" value="4"/>使用者无法调整分割网页的大小
<br>
<input type="checkbox" name="email" value="5"/>若窗口名称不存在则打开一个新窗口
<hr>
----<a href="javascript:void(0)" onclick="selectAll()">全选</a>----
<a href="javascript:void(0)" onclick="selectOthers()">反选</a>----
<a href="javascript:void(0)" onclick="cancelAll()">取消</a>----
<hr>
<input type="submit" value="删除"/>
<input type="submit" value="彻底删除"/>
</form>
</body>
}
验证码的产生:{
<script type="text/javascript">
function testMethod(){
var date = new Date();
document.getElementById("first").innerHTML = date.toLocaleString();
setTimeout("testMethod()",1000);
}//页面显示时钟
function testCreateRand(){
var str = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,G,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
var strs = str.split(",");
var rand = "";
for ( var i = 0; i < 4; i++) {
var aaa = Math.floor(Math.random()*strs.length);
rand += strs[aaa];
}
alert("产生的随机验证码为:" + rand);
}//验证码的产生
function testConfirm(){
//prompt("请输入密码","");
if(confirm("删除后不能恢复,确认删除?")){
alert("已经删除");
}else{
alert("取消删除");
}
}//confirm
</script>
</head>
<body onload="testMethod()">
<div align="center" id="first" style="color: green;font-size: 35px;font-weight: bold;">
</div>
<input type="button" value="模拟验证码的产生" onclick="testCreateRand()">
<hr>
<input type="button" value="删除" onclick="testConfirm()"/>
</body>
}
获取表单:{
<script type="text/javascript">
/*
* 获取表单的方法
* 1.首先通过document.forms得到页面中所有表单组成的表单数组 然后通过要获取表单的索引位置来获取即可
* 2.首先通过document.forms得到页面中所有表单组成的表单数组 然后通过要获取表单的name属性值来获取
* 3.直接通过document.要获取表单的name属性值来获取指定表单
* 4.直接通过要获取表单的name属性值来获取指定表单
* 5.通过id属性来获取指定的表单域 方法是 document.getElementById(id);
*/
function testGetForm(){
//var second = document.forms[1];//第一种获取表单的方式
//var second = document.forms["secondForm"];//第二种获取表单方式
//var second = document.firstForm;//第三种获取表单的方式
//alert(secondForm.action);//第四种获取表单的方式
var first = document.getElementById("firstForm");
alert(first.action);
}
function testGetElement(){
var second = document.getElementById("secondForm");
var strs = second.elements;//得到的该表单下所有表单域
for ( var i = 0; i < strs.length; i++) {
alert(strs[i].value);
}
}
</script>
</head>
<body>
<form action="http://www.baidu.com" method="get" name="firstForm" id="firstForm">
邮箱 :
<input type="text" name="baiemail"/><br>
密码 :
<input type="password" name="baipwd"/><br>
<input type="submit" value="登录百度"/>
</form>
<hr>
<form action="http://www.google.com" method="post" name="secondForm" id="secondForm">
邮箱 :
<input type="text" name="googleemail"/><br>
密码 :
<input type="password" name="googlepwd"/><br>
<input type="submit" value="登录百度"/>
</form>
<hr>
<input type="button" value="测试" onclick="testGetForm()">
<input type="button" value="测试2" onclick="testGetElement()">
</body>
}
获取表单域:{
<script type="text/javascript">
/*
* 获取表单域的方法
* 1.首先获取该表单域所在的表单对象 然后通过该表单的elements属性来获取所有表单域 最后通过该表单域的索引位置得到
* 2.首先获取该表单域所在的表单对象 然后通过该表单的elements属性来获取所有表单域 最后通过该表单域的name属性值得到
* 3.首先获取该表单域所在的表单对象 然后通过该表单域的name属性值直接获取
* 4.直接通过id属性值来获取指定的表单域
*/
function testGetInput(){
//var email = document.firstForm.elements[0];//第一种方式
//var email = document.firstForm.elements["email"];//第二种方式
//var email = document.firstForm.email;//第三种方式
var email = document.getElementById("email");
alert(email.value);
}
function welcomeHere(){
document.getElementById("email").focus();
}
function checkAll(){
var flag = true;
var email = document.getElementById("email").value;
var pwd = document.getElementById("pwd").value;
if(email == ""){
flag = false;
alert("邮箱是必填的");
}
if(pwd == ""){
flag = false;
alert("密码是必填的");
}
if(!flag){
document.getElementById("sub").disabled = true;
setTimeout("changeSub()",5000);
}
return flag;
}
function changeSub(){
document.getElementById("sub").disabled = false;
}
</script>
</head>
<body onload="welcomeHere()">
<!-- 整体表单的验证 要求 只要有一个不符合要求 表单不能提交 此时将用户的提交按钮置为灰色的 5秒钟 然后5秒后可以重新点击提交按钮 -->
<form action="http://www.baidu.com" method="get" name="firstForm" id="firstForm" onsubmit="return checkAll()">
邮箱 :
<input type="text" name="email" id="email"/><br>
密码 :
<input type="password" name="pwd" id="pwd"/><br>
<input type="submit" value="登录百度" id="sub"/>
</form>
<hr>
<input type="button" value="测试" onclick="testGetInput()">
</body>
}
单个表单域的验证:{
<!--
单个表单域的验证(校验)目的:提升用户的体验效果
整体表单的验证(校验) 目的:减轻对服务器的访问次数
-->
<script type="text/javascript" src="../js/CommonsUtil.js"></script>
<script type="text/javascript">
function changeDisplay(){
var question = document.getElementById("question");
var str = question.style.display;
if(str == "none"){
question.style.display = "block";
}else{
question.style.display = "none";
}
}
function writeEach(obj){
var message = "";
var spanID = obj + "Error";
if(obj == "email"){
message = "请输入常用邮箱,方便日后找回密码";
}
if(obj == "nickname"){
message = "长度不超过10个英文字母或者5个汉字";
}
if(obj == "pwd"){
message = "长度6到16个字符,由字母,数字组成,区分大小写";
}
if(obj == "confirm"){
message = "请输入确认密码";
}
document.getElementById(spanID).innerHTML = message;
}
function checkEach(obj,obj1){
var message = "<img src='../images/right.jpg'/>";
var spanID = obj + "Error";
obj1 = trim(obj1);
if(obj == "email" && obj1 == ""){
message = "<img src='../images/wrong.jpg'/><b style='color:red'>请填写邮箱</b>";
}else if(obj == "email" && !isEmail(obj1)){
message = "<img src='../images/wrong.jpg'/><b style='color:red'>邮箱格式不正确</b>";
}
if(obj == "nickname" && obj1 == ""){
message = "<img src='../images/wrong.jpg'/><b style='color:red'>请填写昵称</b>";
}
document.getElementById(spanID).innerHTML = message;
}
</script>
</head>
<body>
<form action="" method="post">
邮箱 :
<input type="text" name="email" id="email" onfocus="writeEach(this.id)" onblur="checkEach(this.id,this.value)"/><span id="emailError"></span><br>
昵称 :
<input type="text" name="nickname" id="nickname" onfocus="writeEach(this.id)" onblur="checkEach(this.id,this.value)"/><span id="nicknameError"></span><br>
密码 :
<input type="password" name="pwd" id="pwd" onfocus="writeEach(this.id)" onblur="checkEach(this.id,this.value)"/><span id="pwdError"></span><br>
重复密码 :
<input type="password" name="confirm" id="confirm" onfocus="writeEach(this.id)" onblur="checkEach(this.id,this.value)"/><span id="confirmError"></span><br>
<hr>
<div style="background-color:#999999 ">
<b>设置密码保护问题</b>
<input type="button" value="展开或者收起" onclick="changeDisplay()">
</div>
<hr>
<div id="question" style="display: none">
密码保护问题1:<select name="question1">
<optgroup label="姓名">
<option value="001">您的姓名</option>
<option value="002">您母亲的姓名</option>
<option value="003">您父亲的姓名</option>
</optgroup>
<optgroup label="生日">
<option value="004">您的生日</option>
<option value="005">您母亲的生日</option>
<option value="006">您父亲的生日</option>
</optgroup>
</select>
<br>
您的答案:
<input type="text" name="answer1" id="answer1"/>
</div>
<input type="submit" value="注册新用户"/>
</form>
</body>
}
表单的整体验证:{
<script type="text/javascript">
function changeAction(obj){
var form = document.emailForm;
var message = "";
if(obj == 0){
message = "http://www.sina.com";
}
if(obj == 1){
message = "http://www.163.com";
}
if(obj == 2){
message = "http://www.126.com";
}
if(obj == 3){
message = "http://www.sohu.com";
}
if(obj == 4){
message = "http://www.google.com";
}
form.action = message;
}
/*
* 表单的整体验证(校验) :即验证用户输入表单中表单域的值是否符合规定 有一个没有通过验证的 都不能提交当前表单
*/
function checkForm(){
var strs = document.emailForm.elements;
var email = strs[0].value;
var emailtype = strs[1].value;
var pwd = strs[2].value;
var flag = true;
if(email == ""){
alert("请输入邮箱");
flag = false;
}
if(emailtype == "over"){
alert("请选择邮箱类型");
flag = false;
}
if(pwd == ""){
alert("请输入密码");
flag = false;
}
if(flag){
document.emailForm.submit();
}
}
function checkAll(){
var flag = true;
var strs = document.emailForm.elements;
var email = strs[0].value;
var emailtype = strs[1].value;
var pwd = strs[2].value;
if(email == ""){
alert("请输入邮箱");
flag = false;
}
if(emailtype == "over"){
alert("请选择邮箱类型");
flag = false;
}
if(pwd == ""){
alert("请输入密码");
flag = false;
}
return flag;
}
</script>
</head>
<body>
<form action="" method="post" name="emailForm" onsubmit="return checkAll()">
邮箱:<input type="text" name="email"/>
<select name="type" onchange="changeAction(this.value)">
<option value="over">请选择邮箱类型</option>
<option value="0">@sina.com</option>
<option value="1">@163.com</option>
<option value="2">@126.com</option>
<option value="3">@sohu.com</option>
<option value="4">@gmail.com</option>
</select>
密码 :
<input type="password" name="pwd">
<!-- <input type="button" value="登录" onclick="checkForm()"> -->
<input type="submit" value="登录"/>
</form>
</body>
}
去空格和邮箱验证:{
/**
* @param obj :要去掉首尾空格的字符串
* @return 返回去掉空格后的字符串
* @function 去掉指定字符串的首尾空格
*/
function trim(obj){
return obj.replace(/^\s+|\s+$/g, "");
}
/**
* @param obj 要验证的邮箱
* @return 返回true代表格式正确 false代表格式错误
*/
function isEmail(obj){
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
return reg.test(obj);
}
}
改变CSS:{
<script type="text/javascript">
function testMethod(){
var div = document.getElementById("first");
div.style.color = "green";
div.style.fontSize = "50px";
}
function firstMethod(){
var div = document.getElementById("second");
div.className = "bbb";
}
function testChangeColor(obj){
var str = "";
if(obj == 0){
str = "blue";
}
if(obj == 1){
str = "green";
}
if(obj == 2){
str = "red";
}
if(obj == 3){
str = "orange";
}
//document.getElementById("second").className = str;
document.getElementById("second").style.backgroundColor = str;
}
</script>
<style type="text/css">
.aaa {
font-size: 25px;
font-weight: bold;
background-color: blue;
color: yellow;
}
.bbb {
font-size: 50px;
font-weight: bold;
background-color: olive;
color: green;
}
.blue{
background-color: blue;
color: white;
font-size: 25px;
font-weight: bold;
}
.green{
background-color: green;
color: blue;
font-size: 25px;
font-weight: bold;
}
.red{
background-color: red;
color: black;
font-size: 25px;
font-weight: bold;
}
.orange{
background-color: orange;
color: black;
font-size: 25px;
font-weight: bold;
}
</style>
</head>
<body>
<div id="first" style="color: red;font-size: 20px;">
京沪高铁昨日再发两起故障 专题 <br>
国务院:二三线城市房价猛涨须限购 <br>
红基会否认捐赠设备报价造假
</div>
<div id="second" class="aaa">
康菲公司称渤海湾溢油量超过1500桶 山东索赔或超2亿 <br>
陕西城固“法制培训班”被指饿死上访人 <br>
上海工商:达芬奇家居涉虚假宣传等问题
</div>
<hr>
<input type="button" value="测试1" onclick="testMethod()">
<input type="button" value="测试2" onclick="firstMethod()">
<hr>
<a href="javascript:void(0)" onclick="testChangeColor(0)">蓝色</a>
<a href="javascript:void(0)" onclick="testChangeColor(1)">绿色</a>
<a href="javascript:void(0)" onclick="testChangeColor(2)">红色</a>
<a href="javascript:void(0)" onclick="testChangeColor(3)">橘红色</a>
</body>
}
<!--EndFragment-->