----------------字符串信息: 结果是Number-----------------
1.得到索引值:
Str.indexOf(substr) //子字符串:单个或多个连续字符构成
Str.search(RegExp)
2.长度:Str.length
------------------匹配: 结果是Sting,object---------------
不改变原字符串并且得到新的字符
(1)通过索引值(index):得到一个字符
Str.CharAt(index)
Str.substring(start[,end?]) // end 可有可无
Str.substr(start[,end]?)
Str.slice(start[,end]?)
(2) 通过正则表达式:得到一个字符或字符型对象(多个字符时);
Str.match(regexp)
(3) 通过正则或子字符串得到修改后的新字符串:删除,替换
Str.replace(regexp/substr,replacementString) 见RegExp应用篇
(4)通过分隔符得到子字符串对象:
Str.split(separator,howmany)
(5)改变大小写:
Str.toLowerCase();
Str.toupperCase();
(6)子字符合并:
Str1 + Str2 + Str3
e.g: var a ="StrOfa";
var b="123"+ a + " " +"321";// b= “123StrOfa 321”
//多少空格就是多少空格
-------------------------转化为字符----------------------------------------
String( );
toString( );
-------------------------综合应用-------------------
删除第一个字符:
(1)空字符替换法
var newStr = Str.replace(substr/regexp,"");
其中:substr=Str.substr(0,1) / CharAt(0) / substring(0,1) /
slice(0,1) / match(/./)
regexp=/./
(2)获取除第一个字符法:
var newStr = Str.substr(1);/substring(1)/slice(1)
(3)正则表达式除第一个字符捕获法:
var arrStr=Str.match(/.(.*)/);
var newStr=arr[1];
=======================================================
演示的代码,你可以在chrome浏览器的Console面板中逐个练习:
"micromajor".length // 10
---------------------------------
"micromajor".charAt(0) // "m" 按索引值定位字符
"micromajor".charAt(100) // "" 空字符(不存在)
-----------------------------------
"micro-major".indexOf("-") // 5 求 第一次出现指定字符(串)的索引值
"micro-major-web".indexOf("-") // 5
"micro-major".indexOf("major") // 6
"micromajor".indexOf("-") // -1 无该字符
--------------------------------------------
"micromajor163".search(/[0-9]/) // 10 按正则搜索第一次出现数字的索引值
"micromajor163".search(/[A-Z]/) // -1 无该字符
-------------------------------------得到一个新字符型对象
"micromajor163".match(/[0-9]/) // ["1"] 按正则匹配出第一个数字
"micromajor163".match(/[0-9]/g)// ["1","6","3"] 全局
"micromajor163".match(/[A-Z]/) // null 无匹配字符
------------------------------------------
"micromajor163".replace("163","###") // "micromajor###" 替换字符串
"micromajor163".replace(/[0-9]/,"#") // "micromajor#63" 第一个数字
"micromajor163".replace(/[0-9]/g,"#") // "micromajor###" 全部数字
"micromajor163".replace(/[0-9]/g,"") // "micromajor" 等价于删除
-------------------------------------------------------------------
"micromajor".substring(5,7) // "ma" 取出第5到(7-1)的连续子字符串
"micromajor".substring(5) // "major" 结束
-----------------------------------------------------------
"micromajor".slice(5,7) // "ma"
"micromajor".slice(5) // "major"
"micromajor".slice(1,-1) // "icromajo" 同上,-1 是倒数第一个数
"micromajor".slice(-3) // "jor"
--------------------------------------------------------------------
"micromajor".substr(5,2) // "ma" 取出第5开始的2个连续字符的子字符串
"micromajor".substr(5) // "major" 全部
-------------------------------------------------
"micro major".split(" ") // ["micro","major"] 以空字符为分离点
"micro major".split(" ",1) // ["micro"] 分成1份
"micro2major".split(/[0-9]/) // ["micro","major"] 数字字符
------------------------------------------------------
"MicroMajor".toLowerCase() // "micromajor" 全部小写
"MicroMajor".toUpperCase() // "MICROMAJOR" 大写
--------------------------------------------------------------------------
"0571" + "-" + "88888888" // "0571-88888888" “+”两端字符连接
=====================String(value )和toString(进制基数)===========================
String(163) // "163" 非null和undefined调用toString
String(null) // "null" 是 返回本身值
----------------------toString(每个值(除了null和undefined)都有的方法)类似parseInt(“value”,基数)---------------
后者的基数辅助识别value(是数字字符串时)是几进制的;前者控制输出的数字字符串输出
"100".toString( ) //"100" :字符串直接传入传出;
var num=10; num.toString(16 ) // "a" :Number类型,输出转换为16进制数字再变成字符串;
parseInt("10.1",16) //16 :“10.1”是16进制数字字符串“0x10.1”,输出为唯一的10进制:16;
=====================================================
"micro\"major" // "micro"major" 字符串内的转义字符 "\" +"字符"表示: "
"micro\\major" // "micro\major" \
"micro\tmajor" // "micro major" tab