String相关
- 创建字符串
- var s1 = “abc”; //单引号和双引号都可以
- var s2 = new String(“abc”);
- 把字符串转成数值
- parseFloat(“8”) 8
- parseInt(8.5) 8
- Number(“8.5”) 8.5 作用和parseFloat类似
- 字符串转大小写
- 转大写 str.toUpperCase();
- 转小写 str.toLowerCase();
- 获取字符串出现的位置
- str.indexOf(‘b’) 第一个出现的位置 从0开始
- str.lastIndexOf(‘b’) 最后一个出现的位置
- 截取字符串
- str.substring(start,?end);截取坐标范围含头不含尾
- 替换字符串
- str.replace(old,new); 只替换第一个
"abcdes".replace("ab","xy");
- 拆分字符串
- var arr = str.split(".");
数学相关
-
随机数 Math.random() 0-1
例如生成n-m的随即整数:
[n,m]–>[0,m-n]+n–>parseInt(Math.random()*(m-n+1)+n) -
四舍五入
num.toFixed(m); m代表保留几位小数
18.23456.toFixed(4); 18.2346
数组相关
- 创建数组
- var arr1 = [“小明”,18,true];
- var arr2 = new Array();
- 往数组中添加内容
- arr.push(“刘德华”);
- arr.push(18);
- 数组遍历 和Java一样
var arr = ["小明",18,true];
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
- 获取和修改数组长度
- java数组的长度不可变
arr.length//获取
arr.lenght=3;
- 数组反转 arr.reverse();
- 数组排序 arr.sort(); 默认排序规则是 以Unicode编码进行排序,比完第一个再比第二个
-
自定义排序:
var arr = [18,11,26,22,2,7,3];
//自定义排序方法
function mysort(a,b){
return b-a;//代表升序 b-a代表降序
}
alert(arr.sort(mysort)); -
也可写作:arr.sort(new Function(“a”,“b”,“return a-b;”));
之所以自定义排序是这样的是因为js数组的操作类似栈的操作,里面元素也是多种类型,这样自定义排序可以方便根据需求对对象这种元素排序
日期相关
- 服务器时间和客户端时间
- 获取客户端时间
var d = new Date(); - 把字符串时间转成时间对象 2019/5/8 14:37:30
var d = new Date(“2019/5/8 14:37:30”); - 获取和设置时间戳(距1970年1月1日 08:00:00)
d.getTime();
d.setTime(); - 获取时间分量
d.getFullYear();// 年
d.getMonth(); 月 从0开始 +1
d.getDate(); 日
d.getDay(); 星期几
d.getHours(); //小时
d.getMinutes(); 分钟
d.getSeconds(); 秒 - 获取年月日 和 获取时分秒
d.toLocaleDateString();
d.toLocaleTimeString();
正则表达式
- 应用场景:
- 查找内容
- 校验文本
- . :匹配任意字符 除了换行
- \w : 匹配任意数字、字母、下划线
- \d : 匹配任意数字
- \s : 匹配任意空白
- ^ : 开头
- $ : 结尾
- 举例:
- 以m开头 ^m
- 以n结尾 n$
- 包含两位数字 \d{2}
- 只有两位数字 ^\d{2}$
- 以3个数字开头 ^\d{3}
- 以x开头以y结尾中间有5个数字 ^x\d{5}y$
- 以m开头中间有3-5个数字n结尾 ^m\d{3,5}n$
- 6-10位数字字母下划线组成 ^\w{6,10}$
- 创建正则对象的两种方式
- var reg = /规则/模式; (两种模式:i忽略大小写,g全局查找)
reg = /^\w{6,10}$/g; - var reg = new RegExp(“规则”,“模式”);
reg = new RegExp("^\w{6,10}$",“g”);
- 正则对象相关的方法
- 查找内容的方法 reg.exec(str)
var str = “you can you up no can no b b”;
var reg = /no/;- 如果没有g则每次找到的都是第一个
reg.exec(str); - 如果添加了g则从全文中查找 每次查找下一个,直到找不到的时候返回null
var reg = /no/g;
reg.exec(str);
- 如果没有g则每次找到的都是第一个
- 校验方法 reg.test(str);
var reg = /^you/;
reg.test(str);
- 字符串中和正则相关的方法
- 查找内容 str.match(reg)
- 此查找方法如果是全局查找会一次性把查找到的所有返回到一个数组中
- 替换方法 str.replace(reg,new);
reg = /no/g;
str.replace(reg,“不”);