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>
/*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>