- charAt:获取指定位置的字符,参数的范围是0~str.length-1,不在其范围获取为空,不写参数默认获取下标为0位置的字符
- charCodeAt:获取指定位置字符的编码;获取指定字符的字符编码。unicode编码是唯一的就想身份证号一样;参数的范围是0~str.length-1,不在其范围获取为 NaN,不写参数默认获取下标为0位置的字符。
数字: 48 ~ 57; 大写字母: 65 ~ 90; 小写字母: 97 ~ 122;
邮箱注册时用的验证,第一个字不能是数字,判断不在数字范围类
- fromCharCode:把编码转换成字符,参数: 任意多个。必须是UniCOde编码;
写法是固定的 : String.fromCharCode(65,69,90);//结果为 'ZEA'
例子:1、判断是否为数字; 2、加密;
- substring:截取指定位置字符str.substring( 6,2 );参数:两个; 第一个 指定开始提取的位置。第二个 指定提取结束的位置。
- 提取的范围包括开始位置,但是不包括结束位置。
- 在提取之前会先比较两个参数的大小,并按从小到大的顺序调整参数位置,再提取。
- 省略第二个参数,表示从开始位置提取到字符串结束。
- 如果不指定任何参数,直接提取整个字符串
例子:一段文字展开 收缩; 5.slice:截取指定位置字符,也是接收两个参数 * 提取的范围包括开始位置,但是不包括结束位置。 * 不会比较两个参数的值,也不会调整位置,如果后面参数的值小于前面的参数值,为空 * 省略第二个参数,表示从开始位置提取到字符串结束。 * 接收负数参数,负数表示从后往前数字符位置,最后一个字符位置是-1。 * 如果不指定任何参数,直接提取整个字符串。
* 如果两个参数值相等,则不提取任何值,或者前面参数的位置和后面参数的位置指向同一个值,也是提取不到的 适用于往后提取字 例如始终提取倒数两个字符 str.slice(-2)
- indexOf:查找指定的子字符串在字符串中第一次出现的位置;参数: 两个,第一个:指定要查找的子字符串。 第二个 :指定从哪个位置开始查找。
- 从左往右查找,默认是从0开始查找。
- 如果找到了,就返回这个子字符串第一次被找到的位置。
- 如果没有找到,就返回-1.
- 只会查找一次。
- 第二个参数不能为负数,如果为负数会解析成0.
- 第二个参数如果大于等于字符串的长度,是找不到的 返回-1
//查找指定字符所在的所有位置
var str = 'fsdffccddddfffeeafbdsf';
var s = 'ff';
for( var i=0; str.indexOf(s,i) != -1; ) {
alert( str.indexOf(s,i) );//s有可能是字符串,所以得是它的长度加1
i = str.indexOf(s,i)+ s.length ;
}
- lastIndexOf:查找指定的子字符串在字符串中最后一次出现的位置。参数: 两个,第一个:指定要查找的子字符串。 第二个: 指定从哪个位置开始查找。
- 从右往左查找,默认是从 length - 1 开始查找。
- 如果找到了,就返回这个子字符串第一次被找到的位置。
- 如果没有找到,就返回-1.
- 只会查找一次。
- 第二个参数不能为负数,如果为负数会解析成0.
- 第二个参数如果大于等于字符串的长度,是从length - 1 开始查找
var str = 'faidfurojvlaljf;frafdvcx'; var s = 'f'; var arr = [];
for( var i=str.length-1; i>=0 && str.lastIndexOf(s, i) != -1;) {
arr.push( str.lastIndexOf(s, i) );
i = str.lastIndexOf(s, i)-s.length;
}
alert( s + '一共出现了' + arr.length+ '次,分别出现在:'+ arr );
- '>','<'', ==:字符串比较
- 比较的不是字符本身,而是字符编码。
- 从左到右一个字符一个字符进行比较。
- 如果前面的字符比较出大小了,后面的就不再比较。
- split:把字符串分割成数组,参数可以是一个,或者两个,第二个表示后面的那一个代表保留数组中的前几段。
- 以分割符作为依据,把分割符左右两边的值分别存入数组。
- 分割符本身不会存入数组。
- 分割符必须是字符串中有的子字符串,如果不是,则不分割,整个存入数组,长度是1;
- 如果以一个空字符串作为分割符来分割一个空字符串,其结果会得到一个空数组。(也只有这一种情况下split的结果才会是一个空数组)。
- 如果不指定分割符,默认不会分割,直接存入数组。
例子:1、添加彩色文字效果。 2、跟join合在一起做文字查找 替换功能
- toUpperCase(),toLowerCase();toUpperCase() : 把小写全部转大写,不接收参数。toLowerCase() : 大写全部转小写,不接收参数。
<div onclick = "alert( this.innerHTML.toLowerCase() );"><span>这是一段文字</span></div> <!-- 结果为: <span>这是一段文字</span> -->AN> ie8以下的(包括ie8)输出的标签是大写,不兼容:<SPAN></SPAN>
- search:字符串对象.search(正则/字符串) : 在前面的字符串中查找正则匹配的内容首次出现的位置;
search : 正则去匹配字符串 , 如果匹配成功,就返回匹配成功的位置,如果匹配失败就返回 -1
search的写法 : 字符串.search(正则)
正则中的默认 : 是区分大小写的
如果不区分大小写的话,在正则的最后加标识 i
修饰符 /正在表达式的内容/修饰符
i : ignore
var str = 'aBcdbef';
var re = /b/; var re1 = /b/i; //如果不区分大小写,就在最后加修饰符i,修饰符可以有多个,可以直接写成例如:ig
var re2 = new RegExp('b','i'); //new RegExp('b','ig'); //search方法即使后面加了全局修饰符g,它也只会返回第一个正则匹配的位置,
alert(str.search(re2));
var re3 = /cd/; alert(str.search(re3)) //结果为2 跟indexOf的用法一样,返回第一个字符的位置
- match:字符串.match(正则),正则去匹配字符串,如果匹配成功,就返回匹配成功的数组,如果匹配不成功,就返回null;正则默认:正则匹配成功就会结束,不会继续匹配 ;如果想全部查找,就要加标识 g(全局匹配) 修饰符g : global
- replace:字符串对象.replace(查找的内容,替换内容),第二个参数:可以是字符串,也可以是一个回调函数,函数的第一个参数:就是匹配成功的字符
- es6 includes(),检测字符串中是否有指定的指定文本,有则返回true,否则返回false;接受两个参数,第一个参数指定要搜索的文本,第二个参数是可选,指定一个开始搜索的位置索引值。
- es6 startWidt(),检测字符串中的
起始部分是否有指定的指定文本,有则返回true,否则返回false;接受两个参数,第一个参数指定要搜索的文本,第二个参数是可选,指定一个开始搜索的位置索引值。 - es6 endWidt(),检测字符串中的
结束部分是否有指定的指定文本,有则返回true,否则返回false;接受两个参数,第一个参数指定要搜索的文本,第二个参数是可选,是用字符串的长度减去第二个参数,作为从后检测的位置。 - es6 repeat(),字符串重复,返回新的字符串,接受一个参数,表示重复的次数。console.log('hello'.repeat(2));//hellohello;可以用于缩进的数量