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 ...
随机推荐
- HDU1297 Children’s Queue (高精度+递推)
Children’s Queue Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Linux网络编程必看书籍推荐
首先要说讲述计算机网络和TCP/IP的书很多. 先要学习网络知识才谈得上编程 讲述计算机网络的最经典的当属Andrew S.Tanenbaum的<计算机网络>第五版,这本书难易适中. &l ...
- 一、HTML和CSS基础--HTML+CSS基础课程--第5部分
第九章 CSS盒模型 元素分类 : 在讲解CSS布局之前,我们需要提前知道一些知识,在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的 ...
- ctrl + z fg bg
[root@bass ~]# jobs [1]+ Stopped vncviewer 192.168.1.17:5904 [root@bass ~]# #ctrl + z [root@bass ~]# ...
- Python语言开发的一些问题
1.Python是如何进行内存管理的? Python引用了一个内存池(memory pool)机制,即Pymalloc机制(malloc:n.分配内存),用于管理对小块内存的申请和释放内存池(memo ...
- Ubuntu下中文显示乱码
转自:http://jingyan.baidu.com/article/915fc414c9d2ef51384b204c.html 装好了Ubuntu 13.10 后,打开部分Windows下的txt ...
- sdut 2413:n a^o7 !(第三届山东省省赛原题,水题,字符串处理)
n a^o7 ! Time Limit: 1000MS Memory limit: 65536K 题目描述 All brave and intelligent fighters, next you w ...
- loj 1009(dfs)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25835 思路:对每一个连通块将其染色,然后取颜色相同的最多的点,最 ...
- invokedynamic指令
Java虚拟机的字节码指令集的数量从Sun公司的第一款Java虚拟机问世至JDK 7来临之前的十余年时间里,一直没有发生任何变化.随着JDK 7的发布,字节码指令集终于迎来了第一位新成员--invok ...
- ember.js:使用笔记8 加载测试与集成测试
emberjs使用的测试工具为qunit.js: 加载:将runner.js添加到Index.html:大致内容: if (window.location.search.indexOf("? ...