var str = "I like Java,Java is so easy to learning!Let's together for Java"; var test = str.replace(/Java/g,"Javascript"); alert(str); alert(test); var name = "Doe , John"; alert(name.replace(/(\w+)\s*, \s*(\w+)/, "$2 | $1")); var name = "I like java,java is so easy!"; var test = name.replace(/java/g, function(m,i){alert(m);alert(i);return "javascript";}); alert(test);
用function返回值作为替换文本时,function里有两个参数:
m表示前面第一个参数即正则匹配到的子串,第二个参数是该子串在原字符串中的索引位置
search():用于返回指定子串或符合指定正则表达式的子串在原字符串中第一次出现的索引,
如果没有找到,则返回-1
var str = "I like javascript.";
alert(str.search("javascript"));
slice(start,end):用于截取start,end指定区间内的字符串并返回,
此方法不会操作原字符串对象数据,而是创建字符串副本保存截取后的字符串数据
如果end未指定,则表示直接从start直到数组末尾,
如果start或end为负数,表示从后面开始算起,比如
-1,表示从倒数第一个元素算起,以此类推。
截取的区间范围是[start,end),前闭后开区间,且start必须小于end
如果没找到一个元素,则返回一个空字符串
var str = "hello world!"; var test = str.slice(-2,-1); alert(test); alert(str);
split():以指定的分割字符或正则表达式的匹配字符来分割原字符串,返回结果以数组形式表示。
此方法还可以接收第二个参数,第二个参数可以限制最终返回的数组元素最大个数。
var str="How are you doing today?"
alert(str.split(/\s/));
substr():用于字符串截取,方法接收两个参数,
第一个参数start,表示从start索引位置开始截取,索引从0开始计算,如果此参数值是负数,
则会从字符串结尾开始计算,比如-1表示最后一个字符,-2表示倒数第二个字符,以此类推。
第二个参数length,表示截取的字符串长度,此参数为可选,如不指定此参数,
则默认会一直截取到字符串结尾。
注意:此方法已不建议使用
var str = "I like javascript!";
alert(str.substr(7,10));
substring():用于截取start与end索引区间内的字符串,区间范围为[start,end],前闭后开
注意:参数start和end必须为非负整数,
如start为负数,则默认会将start赋值为0,
如end为负数,则默认会将end赋值为0,且截取区间改为[0,start)。
如果start大于end,那么会首先交换两个参数值的位置,即区间改为[end,start)
var str1 = "I like javascript!": alert(str1.substring(7,18)); var str2 = "I like javascript!"; alert(str2.substring(3,-3));
toLowerCase():把字符串转换成小写
toUpperCase():把字符串转换成大写
js中Date对象常用方法:
Date():此方法为Date类的构造函数,此方法接收日期格式字符串,
若不给构造函数传参,则默认是取系统当前时间
构造函数可以接收一个距1970-01-01的毫秒数来构建Date对象,
也可以接收规定格式的日期字符串来构建Date对象
//var date = new Date("06 05,1987"); //火狐OK IE不OK
//var date = new Date("6 5,1987"); //火狐OK IE不OK
//var date = new Date("06 05,1987 23:12:33"); //火狐OK IE不OK
//var date = new Date("6 5,1987 23:12:33"); //火狐OK IE不OK
//var date = new Date("1987,06 05"); //火狐OK IE不OK
//var date = new Date("1987,6 5"); //火狐OK IE不OK
//var date = new Date("1987,06,05"); //火狐OK IE不OK
//var date = new Date("1987,6,5"); //火狐OK IE不OK
//var date = new Date("1987,06 05,23:12:33"); //火狐OK IE不OK
//var date = new Date("1987,6 5,23:12:33"); //火狐OK IE不OK
//var date = new Date("1987,06,05,23:12:33"); //火狐OK IE不OK
//var date = new Date("1987,6,5,23:12:33"); //火狐OK IE不OK
//var date = new Date("1987/6/5,23:12:33"); //火狐和IE都OK
//var date = new Date("1987/06/05,23:12:33"); //火狐和IE都OK
//var date = new Date("06/05/1987,23:12:33"); //火狐和IE都OK
//var date = new Date("6/5/1987,23:12:33"); //火狐和IE都OK
//var date = new Date("1987/6/5"); //火狐和IE都OK
//var date = new Date("1987/06/05"); //火狐和IE都OK
//var date = new Date("06/05/1987"); //火狐和IE都OK
var date = new Date("6/5/1987"); //火狐和IE都OK
//var date = new Date("06-05-1987"); //IE OK,火狐不OK
//var date = new Date("6-5-1987"); //IE OK,火狐不OK
//var date = new Date("1987-06-05"); //火狐OK,IE不OK
alert(date);
通过上面这些示例,足以说明,如果Date()构造函数需要接收一个日期格式字符串的话,
那么字符串格式应如下给定:
yyyy/m/d
yyyy/MM/d
yyyy/m/d HH:mm:ss
yyyy/MM/d HH:mm:ss
m/d/yyyy
MM/dd/yyyy
m/d/yyyy HH:mm:ss
MM/dd/yyyy HH:mm:ss
getDate():返回一个月中的某一天,返回值范围:1-31
getDay():返回一周中的第几天也就是星期几,返回值范围:0-6,0表示星期天,6表示星期六
getMonth():返回日期中的月份数字,返回值范围:0-11,0表示1月,11表示12月,这个有点变态
getFullYear():返回日期中的年份数字,用4位数字表示而不是2位数字的缩写形式
getHours():返回小时数,返回值范围:0-23
getMinutes():返回分钟数:返回值范围:0 -59
getSeconds():返回秒数,返回值范围:0-59
getMilliseconds():返回毫秒数,返回值范围:0-999,这个方法命名我表示不能理解,为何Seconds首字母不大写?
getTime():返回指定的日期距1970年1月 1日00:00:00之间的毫秒数。
parse(): 用于将符合规定的日期字符串转换成日期,并返回该日期至1970-01-01的毫秒数