您的位置:首页 > 其它

字符串的一些方法和例子

2016-12-07 16:35 316 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息