Date对象
创建当前日期
var d = new Date();
创建指定日期
var d2 = new Date("09/12/2025 11:11:12");
获取日期内的日
var day = d2.getDate();
获取日期内的周几 0周日 1周一 以此类推
var weekDay = d2.getDay();
获取日期内的月份 0代表1月 1代表2月 以此类推
var month = d2.getMonth();
获取日期内的年份
var year = d2.getFullYear();
获取日期内的时分秒
var hour = d2.getHours();
var minutes = d2.getMinutes();
var seconds = d2.getSeconds();
获取日期内的时间戳
var time = d2.getTime();
获取当前的时间戳
var nowTime = Date.now();
Math对象
是一个工具类,直接使用
圆周率π
Math.PI
绝对值
Math.abs(-1);
向上取整
Math.ceil(1.3);
向下取整
Math.floor(1.5);
四舍五入
Math.round(1.5);
默认生成0-1之间的随机数
生成x-y之间的随机数
Math.random();
Math.round(Math.random()*(y-x) + x);
//生成7-20之间的随机数
for (let i = 0; i < 20; i++) {
console.log(Math.round(Math.random() * (20 - 7) + 7));
}
获取多个数之间的最大和最小值
Math.max(1,3,4);
Math.min(1,3,4);
获取x的y次幂
Math.pow(x,y);
开平分
Math.sqrt(2);
包装类(了解)
String()
、Number()
、Boolean()
可以将基本数据类型转换为对象。
var num = new Number(3);
实际是浏览器自己用的,实际开发中我们用的很少。
字符串的方法
在底层字符串是以字符数组的形式保存的,所以可以取length,也可以取下标。
var str = "Hello";
console.log(str.length);//5
console.log(str[1]);//e
console.log(str.charAt(1));//e
返回指定位置字符编码
console.log(str.charCodeAt(1));//101
根据字符编码获取字符
console.log(String.fromCharCode(72));//H
字符串连接
console.log(str.concat("你好","!"))
console.log(str + "你好" + "!");
获取字符串中的索引,如果字符串没有返回-1
console.log(str.indexOf("h"));//从前往后找 -1
console.log(str.lastIndexOf('l'));//从后往前找 3
截取指定位置字符,[) 不包含后面
console.log(str.slice(0,2));//He
console.log(str.substring(0,2));//He 第二个参数不能写复数
根据指定字符拆分字符串为数组
str = "Hello,Hi,How";
console.log(str.split(','));
把字符串中小写大写字母之间互相转换
console.log(str.toLocaleUpperCase());//小写转大写
console.log(str.toLocaleLowerCase());//大写转小写
正则表达式
创建正则表达式对象,
var reg = new RegExp("a");
var reg = /a/i;
检查字符串是否符合规则
var str = "a";
reg.test(str);//true
传第二个参数
i
是忽略大小写
g
全局匹配
var reg = new RegExp("a","i");
var str = "A";
console.log(reg.test(str));//true
|
或
[ab]
等价a|b
[a-z]
任意小写字母
[A-Z]
任意大写字母
[A-z]
任意字母
[0-9]
包含0-9数字
a[bde]c
以a开头c结尾,中间是b或b或e
[^ab]
除了ab以外
[^0-9]
除了0-9数字
a{3}
等价aaa
(ab){3}
== ababab
ab{3}
== abbb
a{1,3}
出现1到3次
{n}
正好出现n次
{m,n}
出现m到n次
{m,}
出现m次以上
+
至少一次,相当于{1,}
*
0个或多个,相当于{0,}
?
0个或1个,相当于{0,1}
^a
以a开头,与[^a]
不同
a$
以a结尾
检查手机号是否合法
var str = "13312345678";
var reg = /^1[3-9][0-9]{9}$/;
console.log(reg.test(str));//true
.
表示任意字符,可以使用\.
var str = "a.bc";
var reg = /\./;
console.log(reg.test(str));
\w
任意字母、数字以及_
==[A-z0-9_]
\W
除了字母、数字以及_
== [^A-z0-9_]
\d
任意数字 ==[0-9]
\D
除了数字 ==[^0-9]
\s
空格
\S
除了空格
var str = " abc ";
console.log(str.replace(/\s/ig,""));//abc
//除去两端的空格,单词中间的不去除
var str = " hello Lucy ";
console.log(str.replace(/[(^/s*)(\s*$)]/ig,""));
\b
单词边界
\B
除了单词边界
var reg = /\bchild\b/;
console.log(reg.test("a little child"));//true
console.log(reg.test("two children"));//false
字符串方法使用正则表达式
split
可以传入正则表达式来把字符串拆分成数组
var str = "1a2b3c4d5e6f7";
console.log(str.split(/[A-z]/));//['1', '2', '3', '4', '5', '6', '7']
寻找字符串中adc
、adc
、aec
的位置,从左到右寻找第一个
var str = "hello abc hello adc aec";
console.log(str.search(/a[bde]c/));//6
match
会返回一个数组,默认只检索第一个
var str = "1a2c3b4d5j6y";
console.log(str.match(/[A-z]/));//['a']
console.log(str.match(/[A-z]/gi));//['a', 'c', 'b', 'd', 'j', 'y']
replace
可以让字符串中指定内容替换成新的内容,默认也会值替换第一位
var str = "1a2c3b4d5j6y";
console.log(str.replace(/[a-z]/gi,"-"))//1-2-3-4-5-6-
邮件的正则
var str = "mail@163.com";
var reg = /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/
console.log(reg.test(str));