字符串详解

1. 字符串获取类、封装检测数字的方法

var str = '妙味课堂';
alert( str.length );//6

//charAt() 找到字符串中的某一个,不写默认第0个
alert( str.charAt(1) );//味

//charCodeAt() 找到相应的编码值
alert( str.charCodeAt() );  // 22937
alert( str.charCodeAt(1) ); // 21619

alert( str.charCodeAt());   
(0~9  48~57)      (a~z 97~122)      (A~Z  65~90//根据编码返回汉字 下面得到两个字
alert( String.fromCharCode(22937, 21619) );

小练习

<body>
<input type="text" />
<input type="button" value="检测" />
<script>
// alert( detectNum('123456') );
var aInp = document.getElementsByTagName('input');
aInp[1].onclick = function () { 
    var val = aInp[0].value;    
    if ( detectNum(val) ) {
        alert( '恭喜,'+ val +'全是数字' );
    } else {
        alert('输入有误');
    }
};
function detectNum ( str ) {
    var n = 0;
    for ( var i=0; i<str.length; i++ ) {
        n = str.charCodeAt(i);
        if ( n<48 || n>57 )return false;
    }
    return true;
}
</script>
</body>

2. fromCharCode返回字符串实例、字符串加密

1)返回字符

<script>
/*
给页面中添加字
document.body.innerHTML = String.fromCharCode(22937);
document.body.innerHTML += String.fromCharCode(21619);
*/

给页面中批量添加字
var str = '';
for ( var i=10000; i<20000; i++ ) {
    str += String.fromCharCode(i) + ' ';
}
document.body.innerHTML = str;
</script>

2)加密

<body>

<input type="text" />
<input type="button" value="加密" />
<div id="div1">加密...</div>

<script>
var aInp = document.getElementsByTagName('input');
var oDiv = document.getElementById('div1');

aInp[1].onclick = function () {
    var str = aInp[0].value;            // 妙味课堂
    var str1 = '';
    // alert( str.charCodeAt(0) );
    for ( var i=0; i<str.length; i++ ) {
        str1 += String.fromCharCode(str.charCodeAt(i)-520);
    }
    oDiv.innerHTML = str1;
};
</script>

</body>

3. indexOf、lastIndexOf

indexOf:找到字符的位置

var str = 'www.miaov.com/2013ww';
/*
for ( var i=0; i<str.length; i++ ) {
    if ( str.charAt(i) === 'i' ) {
        alert(i);//找到i的位置
    }
}
*/

上面写法复杂,可以用indexOf直接找到
alert( str.indexOf('m') );//4
从字符串下标为5的地方开始找
alert( str.indexOf('m', 5) );//12
alert( str.indexOf('X') );                  // -1 表示没找到
也可以接受字符串
alert( str.indexOf('ww', 2) );

小练习
由于indexOf方法只会找到第一个,为了找到全部,所以需要循环操作。

<script>

var str = '妙味课堂是一支独具特色的IT培训团队,妙味反对传统IT教育枯燥乏味的教学模式,妙味提供一种全新的快乐学习方法!';

var s = '妙味';
var i = 0;
/*
for( ; str.indexOf( s, i ) != -1 ; ){
    alert( str.indexOf( s, i ) );
    i = str.indexOf( s, i ) + s.length;
}
*/
while( str.indexOf( s, i ) != -1 ){
    alert( str.indexOf( s, i ) );
    i = str.indexOf( s, i ) + s.length;
}
</script>

lastIndexOf从后往前找

<script>

var str = '妙味课堂是一支独具特色的IT培训团队,妙味反对传统IT教育枯燥乏味的教学模式,妙味提供一种全新的快乐学习方法!';

str.indexOf('妙味', 2)            // 从左往右找
alert( str.lastIndexOf('妙味', 38) );

// 如果第2个值为负数,默认当成0来处理

</script>

4. 比较类、截取类、substring应用实例

1)比较类
字符串比较是一位一位的比较

<script>

alert( '杜'.charCodeAt() );
alert( '莫涛' > '杜鹏' );//比较的是编码
alert( 'abbbbb' > 'b' );//false
alert( 10000 > 2 );//true
alert( '10000' > '2' );false

</script>

2)截取类
substring

<script>
var str = '妙味课堂是一支独具特色的IT培训团队';
alert( str.substring(4);//从下标为4的地方开始截取 是一支独具特色的IT培训团队
alert( str.substring(0,2) );//妙味
alert( str.substring(2,0) );//妙味可以检测两个数的小标,大的往后扔,小的往前扔
alert( str.substring(-3, 2) );// -3 当成0处理
alert( str.substring(2, -3) );//妙味

//截取slice
alert( str.slice( 2, 0 ) ); // 不交换位置
alert( str.slice( -4));//妙味团队
alert( str.slice( -4, -2 ) );// 负数从后面倒着往前数~
</script>

5. 大小写转换、split分割字符串

1)大小写转换

var str = 'www.MIAOV.com';
// alert( str.toUpperCase() );          // 转成大写
// alert( str.toLowerCase() );          // 转成小写

2)split分割字符串

<script>
var str = 'www.miaov.com';
alert( str.split('.') );// [ 'www', 'miaov', 'com' ]
alert( typeof str.split('.') )//object
var arr = str.split( '.' );
alert( arr[1] );//miaov

var str1 = 'leo';
alert( str1.split() );// [ 'leo' ]
alert( typeof str1.split() );//object
alert( str1.split('') );// [ 'l', 'e', 'o' ]

var str2 = '妙味课堂';
alert( str2.split('味') );//妙,课堂

var str3 = '/www.miaov.com/';
alert( str3.split('/').length );// [ , www.miaov.com,  ]

var str4 = '2013-11-29-23-07';
alert( str4.split('-', 3) );// [2013,11,29]只保留前面三段
</script>

6. 字符串方法总结

var str = '妙味课堂-WWW.miaov.com';

str.charAt(1);          // '味'
str.charCodeAt(1);          // 21619
String.fromCharCode(22937, 21619);  // '妙味'

str.indexOf('m', 4);            // 9 从字符串下标为4的地方开始找
str.lastIndexOf('o');           // 16

'1000' < '2'            // true
'1000' > 2          // true

str.substring(0, 4);            // '妙味课堂'
str.slice(-3);          // 'com'

var str = '妙味课堂-WWW.miaov.com';

str.toUpperCase();          // '妙味课堂-WWW.MIAOV.COM'
str.toLowerCase();          // '妙味课堂-www.miaov.com'

str.split('.', 2);          // [ '妙味课堂-WWW', 'miaov' ]

var arr = [ 'www', 'miaov', 'com' ];
arr.join('aaa');            // 'www.miaov.com'数组变成字符串
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值