String.prototype.finded = function(){
var arg = arguments
var me = this.toLowerCase()
var re = false
var list = []
if (arg.length >0)
{list = arg[0].toString().split(",")}
for (var i=0i<list.lengthi++)
{ if (me.indexOf(list[i].toLowerCase()) >= 0)
{ re = truebreak }
js常用的字符串方法分析
##字符串##
字符串:由0个或多个字符组成,被成对的英文单引号或双引号包含起来的。字符编码:每一个字符在计算机存储的编号。计算机会保存有一套或几套用于标注编号与字符对应关系的字典。(字符集)计算机存储单位位:bit->0/1能存2个字节:byte->8bit可存256个不同的字。
KB:1KB=1024byte;字符串的操作,属性(此中str代表字符串)length:只读属性,表示字符串的长度str.charAt(index):返回str中index位置上对应的字符,若超出当前位置返回空字符。str.indexOf(char):返回char在str中首次出现的位置。
从左至右,若不存在返回-1.str.lastIndexOf(char):返回char在str中最后一次出现的位置,从右至左,若不存在返回-1.str.charCodeAt()str.substring(start,end):截取并返回字符串,从start位置开始到end位置结束(不包含end位置的字符)start:起始位默认为0,如果是负数,转成为0.end:结束位,默认为字符串的长度,如果是负数,转成0.若start比end大会交换位置。
str.substr(start,count):截取从start位置开始,截取count个字符,并返回start:截取的起始位置,默认为0,支持负数count:截取的个数,默认为length;不支持负数str.slice(start, end)截取从start的位置开始,到end位置结束<不包含end位置上的字符>的字符,并返回start: 起始位,默认为0,如果是负数,则用字符串的长度+这个负数值,或者是从右向左数start位确定起始位置。
JS中的RegExp对象没学好.String的match 方法
使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。
stringObj.match(rgExp)
如果没有设置全局标志 (g),数组的0元素包含整个匹配,而第 1 到 n 元素包含了匹配中曾出现过的任一个子匹配。这相当于没有设置全局标志的 exec 方法。如果设置了全局标志,元素0到n中包含所有匹配。
实现的效果:在字符串中abcdefgname='test'sddfhskshjsfsjdfps中获取name的值test 实现的机制:通过replace的回调函数获取。可以通过下面的代码获取匹配部分
var str = "abcdefgname='test'sddfhskshjsfsjdfps"
var reg = /name='((\w|-|\s)+)/ig
str.replace(reg, function() { console.log(arguments.length)//5 console.log(arguments[1])//test })
字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。