字符串和变量输出时,字符串必须加引号,变量直接写,用连接符连接。
1.Date对象
new.Date()获取当前系统日期
new.Date.getFullYear()以四位数返回年份
new.Date.getMonth()返回月份<0~11>
new.Date.getDate()返回一个月中的某一天<1~31>
new.Date.getHours()返回小时<0~23>
new.Date.getMinutes()返回分钟<0~59>
new.Date.getSeconds()返回秒数<0~59>
new.Date.getDay()返回一周中的某一天<0~6>
eg:
<script>
var m=new Date;
console.log(m);
document.write("现在是:"+ m.getFullYear()+"年"+ (m.getMonth()+1)+"月"+ m.getDate()+"日"+ m.getHours()+":"+ m.getMinutes()+":"+ m.getSeconds()+" 星期"+ m.getDay()+"<br/>");
document.write(m.toLocaleString()+"<br/>");
document.write(m.toLocaleDateString()+"<br/>");
document.write(m.toLocaleTimeString()+"<br/>");
</script>
2.计时器
启动:window.setInterval("函数名",1000)
;以1000ms(单位为毫秒)即1s定时。
停止:clearInterval(计时器变量名)
,clearTimeout(timer)
;
setInterval()- 间隔指定的毫秒数不停地执行指定代码,写在函数外;
setTimeout()- 暂停指定的毫秒数后执行指定的代码,写在函数内
清空和添加计时器应该是同一个名称,不然循环会越来越快。
3.String对象
属性:
string.length
object.prototype.name=value 自定义属性
方法:
string.charAt(index) 返回指定位置的字符 //index表示位置,从0开始
string.charCodeAt(位置) 返回指定位置的字符unicode编码
string.concat(str1,str2) 方法用于连接两个或多个字符串
String.fromCharCode(ASCII码) 把指定的unicode编码转换成为字符串
string.indexOf(要查找的字符串,[起始位置]) 返回指定字符在字符串中首次出现的位置,如果没有找到则返回-1;
string.lastIndexOf() 从后面开始查找字符
string.slice(star,end) 截取字符串的一部分,并返回新的字符串;star表示截取的起始位置,end表示截取的结束位置,位置从0开始,留头不留尾;
string.split(x,[y]) 分割字符串成字符串数组;x表示分割的参考对象,y是可选项,y表示设置分割成数组个数;
string.substr(a,l) 提取字符串,a表示起始的索引位置,l表示要提取的字符串的长度;
string.substring(s,e) 提取字符串 s 表示起始索引位置,e表示结束的索引位置,包含s,不包含e位置,留头不留尾
string.replace(要替换的字符串,新的字符串) 查找匹配指定的字符串,返回使用新字符串代替匹配的字符串后的字符串(只替换第一个)
string.valueOf() 返回初始值
var array1=[1,2,3,4,5];
array1.splice(2,2,6) 返回的是被删除的元素
4.Array对象
定义:
var m=[2,23,6,11,97,65]; // 简洁方式
var m=new Array();
m[0]=2;
m[1]=23;
方法:
concat() 连接两个或多个数组;
pop() 删除数组的最后一个元素;
shift() 删除数组的第一个元素;
push() 向数组末尾添加一个或多个元素;
unshift() 向数组开头添加一个或多个元素;
splice() 方法用于插入、删除或替换数组的元素;
splice(index,how,[news])
// index 表示添加或删除的位置
// how 为0表示添加,如果数大于0表示删除个数,如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
// news 为可选项,表示添加的元素;
reverse() 方法用于颠倒数组中元素的顺序;
join() 方法用于把数组中的所有元素转换一个字符串.
5.表单验证
<form novalidate></form>
form 中 novalidate 禁止浏览器默认验证 .
required 必填项,为浏览器默认属性,加上novalidate后将不再有效。
<form action="" method="get" onsubmit="return checkform()" novalidate>
<p><label for="username">
用户名:</label><input type="text" class="username" id="username"/>
<span class="usertext"></span>
</p>
<p><label for="pwd">
密码:<input type="password" class="pwd" id="pwd"/></label>
<span class="pwdtext"></span>
</p>
<p><label for="email">
邮箱:<input type="email" class="email" id="email"/></label>
<span class="emailtext"></span>
</p>
<p><input type="submit"/> <input type="reset"/></p>
</form>
<script>
function checkform() {
var user = document.getElementsByClassName("username")[0]; //用户名验证
var pwd = document.getElementsByClassName("pwd")[0];
var email = document.getElementsByClassName("email")[0];
if (user.value.length == 0) {
document.getElementsByClassName("usertext")[0].innerHTML = "用户名不能为空!";
return false;
}
else {
for (var i = 0; i < user.value.length; i++) {
var one = user.value.trim().toLowerCase().charAt(i);
// one提取输入的每一个字符,trim()去两边的空格。
if ((!(one >= 0 && one <= 9)) && (!(one >= "a" && one <= "z")) && (one != "_")) {
document.getElementsByClassName("usertext")[0].innerText = "用户名格式不正确!";
return false;
}
}
} // 密码验证
if (pwd.value.length == 0) {
document.getElementsByClassName("pwdtext")[0].innerHTML = "密码不能为空!";
return false;
}
else if (!(pwd.value.length >= 6 && pwd.value.length <= 12)) {
document.getElementsByClassName("pwdtext")[0].innerText = "密码必须为6-12位!";
return false;
} // 邮箱验证
if(email.value.indexOf("@")==-1||email.value.indexOf(".")==-1){
//对此否定语句,用“或||”,两个都必须成立才可通过验证;用“与&&”的话,只有其中一个具备则可通过验证。
document.getElementsByClassName("emailtext")[0].innerText="邮箱格式不正确!";
return false;
}
}
</script>