js核心对象的常用方法

1257049723 贡献于2015-11-06

作者 Kid  创建于2015-06-30 02:21:45   修改者Kid  修改于2015-06-30 09:33:12字数8445

文档摘要:String charAt方法返回指定索引位置处的字符。如果超出有效范围的索引值返回空字符串。 strObj.charAt(index) slice方法返回字符串的片段。 strObj.slice(start[,end]) substring方法返回位于String对象中指定位置的子字符串。 strObj.substring(start,end) substr方法返回一个从指定位置开始的指定长度的子字符串。 strObj.substr(start[,length]) indexOf方法放回String对象内第一次出现子字符串位置。如果没有找到子字符串,则返回-1。
关键词:

String 3、 charAt方法返回指定索引位置处的字符。如果超出有效范围的索引值返回空字符串。  strObj.charAt(index)  4、 slice方法返回字符串的片段。  strObj.slice(start[,end])  5、 substring方法返回位于String对象中指定位置的子字符串。  strObj.substring(start,end)  6. substr方法返回一个从指定位置开始的指定长度的子字符串。  strObj.substr(start[,length])  7、 indexOf方法放回String对象内第一次出现子字符串位置。如果没有找到子字符串,则返回-1。  strObj.indexOf(substr[,startIndex])  8、 lastIndexOf方法返回String对象中字符串最后出现的位置。如果没有匹配到子字符串,则返回-1。  strObj.lastIndexOf(substr[,startindex])  9、 search方法返回与正则表达式查找内容匹配的第一个字符串的位置。  strObj.search(reExp)  10、 concat方法返回字符串值,该值包含了两个或多个提供的字符串的连接。  str.concat([string1[,string2...]])  11、 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。  strObj.split([separator[,limit]])  12、 toLowerCase方法返回一个字符串,该字符串中的字母被转换成小写。 13、 toUpperCase方法返回一个字符串,该字符串中的所有字母都被转换为大写字母。  Math Math 对象 :数学对象,提供对数据的数学计算。如:获取绝对值、向上取整等。无构造函数,无法被初始化,只提供静态属性和方法。 静态属性: 1. Math.E :常量e。返回自然对数的底数:2.718281828459045 2. Math.PI :常量π。返回圆周率的值 :3.141592653589793 静态方法: Value--弧度(弧度的计算公式为: 2*PI/360*角度) 30° 角度 的弧度 = 2*PI/360*30 Math.sin(value) :正弦函数 Math.cos(value) :余弦函数 Math.tan(value) :正切函数 Math.asin(value) :反正弦函数 Math.acos(value) :反余弦函数 Math.atan(value) :反正切函数 Value--数字或者纯数字的字符串 Math.abs(value) :返回绝对值 Math.ceil(value) : 对一个数向上取整,并不是四舍五入 Math.floor(value) :对一个数向下取整,并不是四舍五入 Math.max(value1,value2...valueN) :返回参数中最大的值 Math.min(value1,value2...valueN) :返回参数中最小的值 Math.pow(x,y) :返回x的y次方 Math.random() :返回一个伪随机数,大于0,小于1.0 Math.round(value) : 四舍五入后取整 Math.sqrt(value) :返回参数的平方根 Number Number 对象,是数字对象,包含js中的整数、浮点数等等。 静态属性: Number.MAX_VALUE :表示JS中最大的数字,约为 1.79e+308 Number.MIN_VALUE :表示JS中最小的数字,约为 5e-324 Number.NaN :返回NaN,表示非数字值,与任意其他数字不等,也包括NaN本身。应使用Number.isNaN() 来进行判断。 Number.NEGATIVE_INFINITY :返回 -Infinity ,表示负无穷。 Number.POSITIVE_INFINITY  :返回 Infinity ,表示正无穷。进行计算的值大于Number.MAX_VALUE就返回 Infinity 。 静态方法: Number.isInteger(value) :判断参数是否为整数 Number.isNaN(value) :判断参数是否为NaN Number.parseFloat(value) :把参数转换为浮点数 Number.parseInt(value) :把参数转换为整数 实例方法: toExponential(value) :将一个数字转为指数类型,参数表示小数点后的位数 toFixed(value) :将一个数字转换为指定小数位数的字符串。不传入参数,就是没小数位。返回值为四舍五入 toString() :使用指定的进制,将一个数字转换为字符串。不传入参数,默认为十进制。 应用场景: 1. 浮点数的加减乘除异常 说明:Js中的2个浮点数进行加减乘除运算,会返回异常的数值,如:0.2+0.7,返回0.899999999999。可以使用toFixed()方法,指定小数位。 console.log(0.2 + 0.7); // => 0.8999999999999999 console.log(0.7 - 0.5); // => 0.19999999999999996 console.log(3.03 * 10); // => 30.299999999999997   // 使用toFixed()方法 console.log( (0.2 + 0.7).toFixed(2) ); // => 0.90 console.log( (0.7 - 0.5).toFixed(2) ); // => 0.20  console.log( (3.03 * 10).toFixed(2) ); // => 30.30 2. 减法运算 说明:Js中进行减法运算时,会先把前后的值转换为数值再进行运算。若转换失败,返回NaN。 console.log('1' - 0); // => 1 :纯数字字符串减去0,可以快速转换为Nubmer对象 console.log( ('1' - 0).toFixed(2) ); // => 1.00 :快速转换为Nubmer对象后调用实例方法 console.log('1' - 'a'); // => NaN :一方无法转换为Nubmer对象 Array JS中数组的操作 1、数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值     要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。 2、数组的元素的访问 var testGetArrValue=arrayObj[1]; //获取数组的元素值 arrayObj[1]= "这是新值"; //给数组元素赋予新的值 3、数组元素的添加 arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度 arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度 arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。 4、数组元素的删除 arrayObj.pop(); //移除最后一个元素并返回该元素值 arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移 arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素 5、数组的截取和合并 arrayObj.slice(start, [end]); //以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素 arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组 6、数组的拷贝 arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向 arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向 7、数组元素的排序 arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址 arrayObj.sort(); //对数组元素排序,返回数组地址 8、数组元素的字符串化 arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。 toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用 数组对象的3个属性:length ,prototype,constructor Boolean JavaScript 中 if() 圆括号中的表达式将被看做布尔值来处理. 总之: 1.特殊值undefined和null变成false. 2.数字0和NaN变成false. 3.空字符串变成false. 4.所有其他值都变成true. Date var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear();    //获取完整的年份(4位,1970-????) myDate.getMonth();       //获取当前月份(0-11,0代表1月) myDate.getDate();        //获取当前日(1-31) myDate.getDay();         //获取当前星期X(0-6,0代表星期天) myDate.getTime();        //获取当前时间(从1970.1.1开始的毫秒数) myDate.getHours();       //获取当前小时数(0-23) myDate.getMinutes();     //获取当前分钟数(0-59) myDate.getSeconds();     //获取当前秒数(0-59) myDate.getMilliseconds();    //获取当前毫秒数(0-999) myDate.toLocaleDateString();     //获取当前日期 var mytime=myDate.toLocaleTimeString();     //获取当前时间 myDate.toLocaleString( );        //获取日期与时间   日期时间脚本库方法列表 Date.prototype.isLeapYear 判断闰年 Date.prototype.Format 日期格式化 Date.prototype.DateAdd 日期计算 Date.prototype.DateDiff 比较日期差 Date.prototype.toString 日期转字符串 Date.prototype.toArray 日期分割为数组 Date.prototype.DatePart 取日期的部分信息 Date.prototype.MaxDayOfDate 取日期所在月的最大天数 Date.prototype.WeekNumOfYear 判断日期所在年的第几周 StringToDate 字符串转日期型 IsValidDate 验证日期有效性 CheckDateTime 完整日期时间检查 daysBetween 日期天数差 RegExp 比较常用的正则表达式 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:< (S*?)[^>]*>.*?|< .*? /> 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力 匹配首尾空白字符的正则表达式:^s*|s*$ 评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式 匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 评注:表单验证时很实用 匹配网址URL的正则表达式:[a-zA-z]+://[^s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 评注:表单验证时很实用 匹配国内电话号码:d{3}-d{8}|d{4}-d{7} 评注:匹配形式如 0511-4405222 或 021-87888822 匹配腾讯QQ号:[1-9][0-9]{4,} 评注:腾讯QQ号从10000开始 匹配中国邮政编码:[1-9]d{5}(?!d) 评注:中国邮政编码为6位数字 匹配身份证:d{15}|d{18} 评注:中国的身份证为15位或18位 匹配ip地址:d+.d+.d+.d+ 评注:提取ip地址时有用 匹配特定数字: ^[1-9]d*$    //匹配正整数 ^-[1-9]d*$   //匹配负整数 ^-?[1-9]d*$   //匹配整数 ^[1-9]d*|0$  //匹配非负整数(正整数 + 0) ^-[1-9]d*|0$   //匹配非正整数(负整数 + 0) ^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数 ^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数 ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数 ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0) ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0) 评注:处理大量数据时有用,具体应用时注意修正 匹配特定字符串: ^[A-Za-z]+$  //匹配由26个英文字母组成的字符串 ^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串 ^[a-z]+$  //匹配由26个英文字母的小写组成的字符串 ^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串 ^w+$  //匹配由数字、26个英文字母或者下划线组成的字符串 在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下: 只能输入数字:“^[0-9]*$” 只能输入n位的数字:“^d{n}$” 只能输入至少n位数字:“^d{n,}$” 只能输入m-n位的数字:“^d{m,n}$” 只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$” 只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$” 只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$” 只能输入非零的正整数:“^+?[1-9][0-9]*$” 只能输入非零的负整数:“^-[1-9][0-9]*$” 只能输入长度为3的字符:“^.{3}$” 只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$” 只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$” 只能输入由26个小写英文字母组成的字符串:“^[a-z]+$” 只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$” 只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$” 验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间, 只能包含字符、数字和下划线。 验证是否含有^%&’,;=?$”等字符:“[^%&',;=?$x22]+” 只能输入汉字:“^[u4e00-u9fa5],{0,}$” 验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$” 验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$” 验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$” 正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”, “XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。 验证身份证号(15位或18位数字):“^d{15}|d{}18$” 验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12” 验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$” 正确格式为:“01”“09”和“1”“31”。 匹配中文字符的正则表达式: [u4e00-u9fa5] 匹配双字节字符(包括汉字在内):[^x00-xff] 匹配空行的正则表达式:n[s| ]*r 匹配HTML标记的正则表达式:/<(.*)>.*|< (.*) />/ 匹配首尾空格的正则表达式:(^s*)|(s*$) 匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w-./?%&=]*)? (1)应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){returnthis.replace([^x00-xff]/g,”aa”).length;} (2)应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现 String.prototype.trim = function() { return this.replace(/(^s*)|(s*$)/g, “”); } (3)应用:利用正则表达式分解和转换IP地址 function IP2V(ip) //IP地址转换成对应数值 { re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式 if(re.test(ip)) { returnRegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1 } else { throw new Error(”Not a valid IP address!”) } } (4)应用:从URL地址中提取文件名的javascript程序 s=”http://www.9499.net/page1.htm”; s=s.replace(/(.*/){0,}([^.]+).*/ig,”$2″) ; //Page1.htm (5)应用:利用正则表达式限制网页表单里的文本框输入内容 用正则表达式限制只能输入中文:onkeyup=”value=”/blog/value.replace(/["^u4E00-u9FA5]/g,”)” onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^u4E00-u9FA5]/g,”))” 用正则表达式限制只能输入全角字符:onkeyup=”value=”/blog/value.replace(/["^uFF00-uFFFF]/g,”) ”onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^uFF00-uFFFF]/g,”))” 用正则表达式限制只能输入数字:onkeyup=”value=”/blog/value.replace(/["^d]/g,”)“onbeforepaste=“clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^d]/g,”))” 用正则表达式限制只能输入数字和英文:onkeyup=”value=”/blog/value.replace(/[W]/g,””)“onbeforepaste=”clipboardData.setData(’text’,clipboardData.getDa

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档