文本框输入实时验证身份证号

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('123') : 返回 123(int);

parseInt('1234xxx') : 返回 1234(int);  写插件直接将500px转换成500

for in循环对象

对象:{name:"张三",age:18}

for...in 语句用于对数组或者对象的属性进行循环操作。
数组:[1,"dd","dsadad","sss"]
实例:new function(){this.name="",this.age=18}
 

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种转换方式)

Json字符与Json对象的相互转换方式有很多,接下来将为大家一一介绍下,感兴趣的朋友可以参考下哈,希望可以帮助到你
 

1>jQuery插件支持的转换方式

$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 

2>浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器:

JSON.parse(jsonstr); //可以将json字符串转换成json对象 
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系列:常用方法的更多相关文章

  1. javascript系列之DOM(一)

    原文:javascript系列之DOM(一) DOM(document object moudle),文档对象模型.它是一个中立于语言的应用程序接口(API),允许程序访问并修改文档的结构,内容和样式 ...

  2. JavaScript系列----数据类型以及传值和传引用

    1.简单数据类型 在JavaScript中简单数据类型分为5种.分别为 Undefined, Null,Boolean,Number,String. Undefined类型Undefined类型只有一 ...

  3. 汤姆大叔 javascript 系列 第20课 最后的5到javascript题目

    博客链接:http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html 原题: 大叔注:这些题目也是来自出这5个题目的人,当然如果你能答对4 ...

  4. 深入理解javascript系列(4):立即调用的函数表达式

    本文来自汤姆大叔 前言 大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行. 在详细了解这个之前,我们来谈了解一下“自执行”这个叫法,本文对这个功能的叫法 ...

  5. 深入理解javascript系列,读书笔记

    深入理解JavaScript系列(2):揭秘命名函数表达式 1.讲了函数声明和函数表达式的区别,包括一些在函数提升上的区别 2.如果给函数表达式的函数也取名,会在调试的时候受益 3.不要在block( ...

  6. 深入理解JavaScript系列

    转自http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html 深入理解JavaScript系列(1):编写高质量JavaScript代码 ...

  7. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点

    深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的 ...

  8. [JS]深入理解JavaScript系列(4):立即调用的函数表达式

    转自:汤姆大叔的博客 前言 大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行.在详细了解这个之前,我们来谈了解一下"自执行"这个叫法 ...

  9. 深入理解JavaScript系列(转自汤姆大叔)

    深入理解JavaScript系列文章,包括了原创,翻译,转载,整理等各类型文章,如果对你有用,请推荐支持一把,给大叔写作的动力. 深入理解JavaScript系列(1):编写高质量JavaScript ...

  10. [转]深入理解JavaScript系列

    文章转自:汤姆大叔-深入理解JavaScript系列文章 深入理解JavaScript系列文章,包括了原创,翻译,转载,整理等各类型文章,如果对你有用,请推荐支持一把,给大叔写作的动力. 深入理解Ja ...

随机推荐

  1. 借助magicwindow sdk plugin快速集成sdk

    到目前为止,Android Studio已经是开发原生Android App的主流IDE,它是由Google官方设计并基于JetBrains的IntelliJ IDEA.我们魔窗开发的sdk也是使用此 ...

  2. 重命名nginx服务器

    为了防止被黑客扫描到web服务器信息,通过相对应的web服务器信息找出对应的版本漏洞,从而对web服务器进行入侵,nginx虽然功能强大,但是也是软件,软件就可能会有漏洞,例如nginx-0.6.32 ...

  3. Oracle错误代码大全

    Oracle错误代码大全——最新.最全的Oracle错误代码 对快速查找oracle数据库错误原因很有帮助 ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ...

  4. solr使用

    到网站上面下载solr http://archive.apache.org/dist/lucene/solr/4.7.2/ 链接: http://archive.apache.org/dist/luc ...

  5. vijos 1025 背包 *

    链接:点我 输入顺序又反了 #include<cstdio> #include<iostream> #include<algorithm> #include< ...

  6. hdu 3336 kmp+next数组应用

    分析转自:http://972169909-qq-com.iteye.com/blog/1114968 十分易懂 题意:求字串中[前缀+跟前缀相同的子串]的个数? Sample Input 1 4 a ...

  7. 每个人都应该知晓的8项Resharper快捷键

    (此文章同时发表在本人微信公众号“dotNET每日精华文章”) 如果你已经在用Resharper这个编程神器(机器杀手)的话,那么为了进一步提高工作效率熟悉它的一些特殊特性和快捷键那是必须的. Res ...

  8. 布局文件中fill_parent、match_parent和wrap_content有什么区别?

    fill_parent 宽度或者高度 布满整个屏幕从Android 2.2开始fill_parent改名为match_parent.wrap_content布局元素将根据内容更改大小.

  9. C#学习笔记(七)——定义类

    一.C#中类的定义 1.类的定义 class Myclass { } 默认情况下是类是内部的,即外部的项目是不可以访问这个类,相当于加internal来修饰.但实际上是不需要加入的. 如果要指定类是公 ...

  10. 深入理解DIP、IoC、DI以及IoC容器(转)

    深入理解DIP.IoC.DI以及IoC容器 摘要 面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.D ...