JavaScript系列:常用方法
文本框输入实时验证身份证号
charAt(索引)<=>indexOf(字符)
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>ECharts</title>
<script src="jquery.min.js" type="text/javascript" ></script>
<script TYPE="text/javascript">
$(function(){
$('.identity').keyup(function(){
var val=$(this).val();
if (val.length>=18) {
var newVal=val.substring(0,18);
if (newVal.indexOf('x')==17||newVal.indexOf('X')==17) {
newVal=newVal.substring(0,17).replace(/[^1-9]/g,'')+newVal.charAt(17);
};
$(this).val(newVal);
};
if (val.length<18) {
var newVal=val.replace(/[^1-9]/g,'');
$(this).val(newVal);
};
})
})
</script>
</head>
<body>
<input class="identity" value=""/>
</body>
截取字符串
1,split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组
str=”jpg|bmp|gif|ico|png”;
arr=theString.split(”|”);
//arr是一个包含字符值”jpg”、”bmp”、”gif”、”ico”和”png”的数组
2,Join() :功能:使用您选择的分隔符将一个数组合并为一个字符串
var delimitedString=myArray.join(delimiter);
var myList=new Array(”jpg”,”bmp”,”gif”,”ico”,”png”);
var portableList=myList.join(”|”);
//结果是jpg|bmp|gif|ico|png
3,substring() :和数组中slice一样。左到右不到。第二个参数不写,默认最结束。功能:字符串截取,比如想从”MinidxSearchEngine”中得到”Minidx”就要用到substring(0,6)
字符串转数字
parseInt('1234xxx') : 返回 1234(int); 写插件直接将500px转换成500
for in循环对象
for...in 语句用于对数组或者对象的属性进行循环操作。
i++ 和++i
++i先加后用(同一个表达式内用) i++先用(同一个表达式内用)后加 var a=2;++a;var b=a*3;alert(b)//9 ++a;var b=a*3;是两表达式 var c=2;c++;var d=c*3;alert(d)//9 c++;var d=c*3;是两表达式 var e=2;f=e++;alert(f)//2 f=e++ 有++表达式和=表达式 相当f=e; e=e+1 var g=2;h=++g;alert(h)//3 h=++g; 有++表达式和=表达式 相当g=g+1; h=g; var i=2;x=++i +1;alert(x)//4 x=++i +1; 有++表达式和+表达式 相当i=i+1; x=i; var m=2;y=m++ +1;alert(y)//3 x=i++ +1; 有++表达式和+表达式 相当y=m; m=m+1
{"a":"b"}=={"a":"b"}-->false
JSON.parse() JSON.stringify()
http://handyxuefeng.blog.163.com/blog/static/4545217220123510051162/
ECMAScript5 定义了一个原生的JSON对象, 用来将对象序列化为JSON字符串(JSON.stringify()), 或者将JSON数据解析为js对象(JSON.parse())1.parse 用于从一个字符串中解析出json 对象。例如
var str='{"name":"cpf","age":"23"}'
经 JSON.parse(str) 得到:
Object: age:"23"
name:"cpf"
_proto_:Object
ps:单引号写在{}外,每个属性都必须双引号,否则会抛出异常
var str='{"name":"cpf","age":23}'
JSON.parse(str)--> Object {name: "cpf", age: 23}
var str="{'name':'cpf','age':23}"
JSON.parse(str):VM386:1 Uncaught SyntaxError: Unexpected token ' in JSON at position 1(…)
JSON.parse(str)这个很少用,(eval()代替了,)
2.stringify用于从一个对象解析出字符串,例如
var a={a:1,b:2}
经 JSON.stringify(a)得到:“{“a”:1,"b":2}”
JSON.stringify(a)在最近的工作中表单提交用到了,
类似在angular被迫使用angular.fromJson(JSon)转字符串
类似在knockout被迫使用ko.toJS(3params),ko.toJSON(3params)转字符串
转
Json对象与Json字符串互转(4种转换方式)
1>jQuery插件支持的转换方式:
2>浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器:
JSON.stringify(jsonobj); //可以将json对象转换成json对符串
注:ie8(兼容模式),ie7和ie6没有JSON对象,推荐采用JSON官方的方式,引入json.js。
3>Javascript支持的转换方式:
eval('(' + jsonstr + ')'); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号
注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。
4>JSON官方的转换方式:
http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;
可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。
PS:这里再为大家提供几款功能十分强大的json解析、转换与格式化工具供大家选择使用,相信对于大家接下来的json格式数据处理会有所帮助:
在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json
在线XML/JSON互相转换:
http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat
C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
encodeURIComponent和decodeURIComponent
encodeURIComponent("鲁教版五四制语文四年级上")//"%E9%B2%81%E6%95%99%E7%89%88%E4%BA%94%E5%9B%9B%E5%88%B6%E8%AF%AD%E6%96%87%E5%9B%9B%E5%B9%B4%E7%BA%A7%E4%B8%8A"
decodeURIComponent("%E9%B2%81%E6%95%99%E7%89%88%E4%BA%94%E5%9B%9B%E5%88%B6%E8%AF%AD%E6%96%87%E5%9B%9B%E5%B9%B4%E7%BA%A7%E4%B8%8A")//"鲁教版五四制语文四年级上"
JavaScript系列:常用方法的更多相关文章
- javascript系列之DOM(一)
原文:javascript系列之DOM(一) DOM(document object moudle),文档对象模型.它是一个中立于语言的应用程序接口(API),允许程序访问并修改文档的结构,内容和样式 ...
- JavaScript系列----数据类型以及传值和传引用
1.简单数据类型 在JavaScript中简单数据类型分为5种.分别为 Undefined, Null,Boolean,Number,String. Undefined类型Undefined类型只有一 ...
- 汤姆大叔 javascript 系列 第20课 最后的5到javascript题目
博客链接:http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html 原题: 大叔注:这些题目也是来自出这5个题目的人,当然如果你能答对4 ...
- 深入理解javascript系列(4):立即调用的函数表达式
本文来自汤姆大叔 前言 大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行. 在详细了解这个之前,我们来谈了解一下“自执行”这个叫法,本文对这个功能的叫法 ...
- 深入理解javascript系列,读书笔记
深入理解JavaScript系列(2):揭秘命名函数表达式 1.讲了函数声明和函数表达式的区别,包括一些在函数提升上的区别 2.如果给函数表达式的函数也取名,会在调试的时候受益 3.不要在block( ...
- 深入理解JavaScript系列
转自http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html 深入理解JavaScript系列(1):编写高质量JavaScript代码 ...
- 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点
深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的 ...
- [JS]深入理解JavaScript系列(4):立即调用的函数表达式
转自:汤姆大叔的博客 前言 大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行.在详细了解这个之前,我们来谈了解一下"自执行"这个叫法 ...
- 深入理解JavaScript系列(转自汤姆大叔)
深入理解JavaScript系列文章,包括了原创,翻译,转载,整理等各类型文章,如果对你有用,请推荐支持一把,给大叔写作的动力. 深入理解JavaScript系列(1):编写高质量JavaScript ...
- [转]深入理解JavaScript系列
文章转自:汤姆大叔-深入理解JavaScript系列文章 深入理解JavaScript系列文章,包括了原创,翻译,转载,整理等各类型文章,如果对你有用,请推荐支持一把,给大叔写作的动力. 深入理解Ja ...
随机推荐
- mybatis存入数据库后没有时分秒时间不全只有年月日
对于Ibatis操作Date/Time/DateTime,总结如下: 将pojo的属性类型设置为java.sql.Date(或java.sql.Time, java.sql.Timestamp),此时 ...
- Gym 100801E Easy Arithmetic (思维题)
题目:传送门.(需要下载PDF) 题意:给定一个长度不超过1000的字符串表达式,向该表达式中加入'+'或'-',使得表达式的值最大,输出该表达式. 题解:比如300-456就改成300-4+56,遇 ...
- Android实现电子邮箱客户端
本文主要讲述了安卓平台上利用QQ邮箱SMTP协议,POP3协议发送与接收消息的实现 发送邮件核心代码 import java.security.Security; import java.util.D ...
- cocos2dx学习笔记——demo学习(一)——ActionTest
在此我会将一步步看到的小白我认为疑难和重点记下,并自解,若是在无法解答,便以红色标记出来,希望各位大神帮忙解惑. 一.onEnter()还有OnExit()是什么 因为小白在使用cocos2dx这款的 ...
- 关于post和get传递参数的区别
今天一朋友给我一段代码,说使用request.querystrin得不到传过来的值,我们一起找到很长时间,终于给找到了,错误的原因是他将form中的method参数写成了get了,所以使用reques ...
- java 输入输出流1 FileInputStrem&&FileOutStream
通过文件输入流读取问价 package unit6; import java.io.FileInputStream; import java.io.FileNotFoundException; imp ...
- 理解Null,Undefined,NAN
1.null表示尚未存在的对象,转为数值时为0.它表示"没有对象",即该处不应该有值,常用来表示函数企图返回一个不存在的对象.null是一种特殊的object(引用类型),代表一个 ...
- 阿里云ECS(云服务器)之产品简介
参考阿里产品文档:https://docs.aliyun.com/?spm=5176.100054.3.1.ywnrMX#/pub/ecs/product-introduction/concept
- Week,Month, Year 日期区间辅助类
我们在做一些业务系统的时候,经常会用到一些获取时间段的情况.比如要统计某一周.某月.某年 这样一些时间区间内的一些业务数据.这时候我们就需要获取当前时间段内的一些起止日期.这里分享一个通用的日期辅助类 ...
- OGRE: "OgreOverlaySystem.h": No such file or directory
这两天学习OGRE,遇到"OgreOverlaySystem.h": No such file or directory的错误. 这是由于OGRE提供的例子过老,和SDK版本不一致 ...