字符串的一些方法和例子

1、常用的一些方法

(1)、charAt()返回指定位置的字符串,默认返回位置0的字符,范围在0~字符串-1
(2)、charCodeAt()返回指定位置的字符的Unicode的编码
(3)、String.fromCharCode()接收一个指定的Unicode值,返回一个字符串
alert(String.fromCharCode(97,98,99,100));//abcd

常用的字符的Unicode编码:0~9   48~57
a~z    96~122
A~Z    65~90


判断字符串中是不是都是数字的方法?

<body>
	<input type="text"/>
	<input type="button" value="检测">
	<script>
	// alert(detectNum('123456'));
	var aInp = document.getElementsByTagName('input');
	aInp[1].onclick = function(){
		if(detectNum(aInp[0].value)){
			alert('输入的都是数字');
		}else{
			alert('输入有误,请重新输入');
		}
	}
	function detectNum(str){
		var n = 0;
		for(var i=0;i<str.length;i++){
			n = str.charCodeAt(i);
			// 条件:48~57表示0~9,如果不在这个范围,肯定不是数字
			if(n>57 || n<48)return false;
		}
		return true;
	}
	</script>
</body>

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 val = aInp[0].value;
		var str = '';
		for(var i=0;i<val.length;i++){
			str+=String.fromCharCode(val.charCodeAt(i)-500);
		}
		oDiv.innerHTML = str;
	}
	</script>
</body>

3、 indexOf()判断字符串中某个字符的位置,位置从0开始计算(从左到右)
       lastIndexOf()从后往前找
       charAt()是找字符串中指定位置的字符

 var str='www.zhaoxingpei.com';
  alert(str.indexOf('z'));//4(字符z在字符串第四个位置)
  alert(str.indexOf('ww'));//0
  alert(str.indexOf('ww',2));//-1(表示从第2位开始往后找,找不到返回了-1)
  
 
 // indexOf()和lastIndexOf()区别
alert(str.lastIndexOf('i'));//14(从后往前找找到的第一个i位置)
alert(str.lastIndexOf('i',13));//9(此时开始位置从位置13开始,从后往前找,则第一个i出现的位置是9)
alert(str.indexOf('i'));//9(从前往后找找到的第一个i位置)

例子:判断某个字符在字符串中出现的位置和出现次数?

<body>
<script>
var str ='赵幸培是一个女生,赵幸培今年已经22岁了,赵幸培的属相是狗。'
var s = '赵幸培';
var i=0;
// for(;str.indexOf(s,i)!=-1;){
// 	alert(str.indexOf(s,i));
// 	i=str.indexOf(s,i)+s.length;
// }


var num = 0;
while(str.indexOf(s,i)!=-1){
	num++;
	alert(str.indexOf(s,i));//弹出当前从位置i开始往后找,找到的字符s的位置
	i=str.indexOf(s,i)+s.length;//下一次开始找的位置(把你当前要找的字符的长度加上)
}
console.log(num);//num可以计算要查找的字符出现的次数
</script>
</body>



4、substring()字符串截取

/*substring()是截取某个位置的几个字符,所以负数当做0*/
// 下面证明,substring()可以检测两个数,大数往后放,小数往前放
alert(str.substring(0,2));//赵幸
alert(str.substring(2,0));//赵幸(前面比后面大的时候,会自动交换位置)
alert(str.substring(-2,2));//赵幸(第一个参数是负数,可以当做是0)
alert(str.substring(2,-2));//赵幸(同上,会前后交换位置+)


// slice()和substring()的相同之处,都可以截取字符串
// 区别:1、不能交换参数位置;2、不会把负数看做0
alert(str.slice(0,2));//赵幸
alert(str.slice(2,0));//不显示(slice()不交换位置)

alert(str.slice(-2));//女生
alert(str.slice(-4,-2));//一个


5、toLowerCase()和toUpperCase()大小写转换

<body>

<script>
var str = 'www.zhaoxingpei.com';
alert(str.toUpperCase());
var str1 = 'www.ZHAOXINGPEI.com';
alert(str1.toLowerCase());
</script>
</body>

6、split()分隔符,可以让字符串变成数组

<body>

<script>
var str = 'www.zhaoxingpei.com';
console.log(str.split('.'));//['www','zhaoxingpei','com']
var arr = str.split('.');
console.log(arr[1]);//zhaoxingpei

// 没有参数,直接全做为数组中的字符
// 直接写''(相当于空字符串),默认逗号是分隔符
var str1 = 'zxp';
console.log( str1.split());//['zxp']
console.log(str1.split(''));//['z','x','p']

// 以幸为分隔符来变成数组
var str2 = '赵幸培';
console.log(str2.split('幸'));//['赵','培']

var str3 = '/www.zhaoxingpei.com/';
console.log(str3.split('/'));//['','www.zhaoxingpei.com','']

// 第二个参数默认保留几部分,下面是保留2个
var str4 = '2016-12-7';
alert(str4.split('-',2))
</script>
</body>



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值