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

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. ios学习总结(1) -- 创建第一个ios项目

    原文地址 下载并打开xcode. 接着新建一个工程,如下图所示: 点击Create a new Xcode project,之后选择ios下的Application,点击Single View App ...

  2. dt.jar设计时rt.jar运行时

    很多人在初学Java的时候,都要配置环境变量.在配置CLASSPATH的时候,都会加上一个当前目录.,还有两个jar:dt.jar和tools.jar.其实好多人都不了解这两个jar的作用,尤其是dt ...

  3. [MAC ] Mac-OSX下安装Git

    转载自 : http://www.cnblogs.com/shanyou/archive/2011/01/30/1948088.html Mac-OSX下安装Git是一件很简单的事,我们可以下载一个安 ...

  4. LINUX_source

    Be careful! ./ and source are not quite the same. ./script runs the script as an executable file, la ...

  5. php 练习

    下拉样式 <select> <?php $a = array( array("n001 汉族"), array("n002 回族"), arr ...

  6. ***Redis hash是一个string类型的field和value的映射表.它的添加、删除操作都是O(1)(平均)。hash特别适合用于存储对象

    http://redis.readthedocs.org/en/latest/hash/hset.html HSET HSET key field value   (存一个对象的时候key存) 将哈希 ...

  7. Android虚拟机中的sqlite数据库文件

    Android虚拟机中的sqlite数据库文件 ①

  8. spark streaming中使用flume数据源

    有两种方式,一种是sparkstreaming中的driver起监听,flume来推数据:另一种是sparkstreaming按照时间策略轮训的向flume拉数据. 最开始我以为只有第一种方法,但是尼 ...

  9. 【部分原创】标准C语言的优先级、结合性、求值顺序、未定义行为和非确定行为浅析

    零. 优先级    在C++ Primer一书中,对于运算符的优先级是这样描述的:     Precedence specifies how the operands are grouped. It ...

  10. 针对mysql中分表批量添加字段

    项目中有用到这种类似的分表,如果要添加一个字段的话,该怎么办呢? dba表示弄 一个脚本批量处理就行了,卧槽,这我哪会啊,于是硬着头皮又继续问dba,dba给一个脚本,一看是这样的. #!/bin/b ...