js字符串方法

// 1.substring(start开始位置的索引,end结束位置索引) 截取的位置不包含结束位置的字符,只写一个参数表示从开始位置截取到最后
var str = 'abcdefg';
console.log('---------------------substring()--------------------------')
console.log(str.substring(0))   //得到abcdefg
console.log(str.substring(1))   //得到bcdefg
console.log(str.substring(1, 3))  //得到bc

// 输入负值时将负值变为0,哪个较小作为开始位置
console.log(str.substring(-1, 1))  //=>str.substring(0,1) //a
console.log(str.substring(1, -2)) //=>str.substring(0,1) //a

console.log('---------------------slice()--------------------------')
// 2.slice(start开始位置索引,end结束位置索引) 基本和substring相似,区别在参数为负数。
// var str='abcdefg';
console.log(str.slice(1))   //得到bcdefg
console.log(str.slice(1, 3))   //得到bc

// 输入负值时 值与字符串的长度相加
console.log(str.slice(-1))   //相当于str.slice(6) g
console.log(str.slice(-2))   //相当于str.slice(5) fg
console.log(str.slice(1, -2))  //相当于str.slice(1,5) bcde
console.log(str.slice(-2, -1))  //相当于str.slice(5,6) f

// 值绝对值大于字符串的长度时变为 0
console.log(str.slice(-22))    //相当于str.slice(0) abcdefg
console.log(str.slice(0))    // abcdefg
console.log(str.slice(-10, 55))    //abcdefg
console.log(str.slice(-5, 55))    //cdefg

console.log('---------------------substr()--------------------------')
// 3.substr(start开始位置索引,end需要返回的字符个数)
// var str='abcdefg';
console.log(str.substr(1))    //bcdefg
console.log(str.substr(1, 4))    //bc

// 输入负值时 start参数与字符串的长度相加 ,end为负时参数变为0
console.log(str.substr(-1))    //g   相当于str.substr(6)
console.log(str.substr(-2))    //fg   相当于str.substr(5)
console.log(str.substr(-3))    //efg  相当于str.substr(4)
console.log(str.substr(-2, -3))    //  返回空字符串

console.log('---------------------charAt() --------------------------')
// 4.charAt(index) 方法返回指定索引位置处的字符。如果超出有效范围(0与字符串长度减一)的索引值返回空字符串.   从0开始
// var str='abcdefg';
console.log(str.charAt(0))   //a
console.log(str.charAt(2))   //c
console.log(str.charAt(8))    //  返回空字符串
console.log(str.charAt(-1))    //  返回空字符串
console.log('---------------------indexOf(string) --------------------------')
// 5.index(string)  返回String对象内第一次出现子字符串位置。如果没有找到子字符串,则返回-1。从0开始
// var str='abcdefg';
console.log(str.indexOf('c'))   //2
console.log(str.indexOf('a'))   //0
console.log(str.indexOf('h'))   //-1
console.log('---------------------lastIndexOf(string) --------------------------')
// 6.lastIndexOf(string)  倒叙查找 返回String对象内第一次出现子字符串位置。如果没有找到子字符串,则返回-1。从0开始
var str2 = 'abcdefgbd';
console.log(str2.lastIndexOf('d'))   //8
console.log(str2.lastIndexOf('c'))   //2
console.log(str2.lastIndexOf('j'))   //-1
console.log('---------------------split(str) --------------------------')
// 7.split(str)  将字符串以参数分割为数组
// var str='abcdefg';
console.log(str.split('c'))   //["ab", "defg"]
console.log(str.split('d'))   //["abc", "defg"]
console.log('---------------------toLowerCase() --------------------------')
// 8. toLowerCase方法返回一个字符串,该字符串中的字母被转换成小写。
var str3 = 'AdcfDefG';
console.log(str3.toLowerCase())  //adcfdefg
// 9. toUpperCase方法返回一个字符串,该字符串中的所有字母都被转换为大写字母。
console.log('---------------------toUpperCase() --------------------------')
console.log(str3.toUpperCase())  //ADCFDEFG
// 10.match() – 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配
console.log('---------------------match() --------------------------')
console.log(str.match("abc"))  //abc
console.log(str3.match("abc"))  //null
var str4 = "11 dd 11 dasdasd 211 ccad 3"
console.log(str4.match(/\d+/g))

console.log('---------------------正则1 --------------------------')
// 扩展正则表达式
var str5 = "123abc";
var part1 = /^[0-9]+abc$/;
console.log(str5.match(part1));
var pattern = /^[\w_-]{6,16}$/;
console.log(pattern.test('12312444'))  //true
console.log(pattern.test('asda@-'))    //false
console.log(pattern.test('dDSDA_-'))   //true


// 最短6位,最长16位 {6,16}
// 必须包含1个数字
// 必须包含2个小写字母
// 必须包含2个大写字母
// 必须包含1个特殊字符
console.log('---------------------正则2 --------------------------')
var pattern = /^.*(?=.{6,16})(?=.*\d)(?=.*[A-Z]{2,})(?=.*[a-z]{2,})(?=.*[!@#$%^&*?\(\)]).*$/;
console.log(pattern.test('du42DU!'))   //true
console.log(pattern.test('duDUd!'))   //false

console.log('---------------------search() --------------------------')
// 11.search  方法返回与正则表达式查找内容匹配的第一个字符串的位置。
//  var str='abcdefg';
console.log(str.search('d'))
console.log(str.search(/c/i))    //
// search() 对大小写敏感
 var str6='school wDDDA';
console.log(str6.search(/wddda/))  //-1
console.log(str6.search(/wddda/i))  //7  /i对大小写不敏感
console.log('---------------------replace() --------------------------')
// 12.replace 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配
var str7="Visit Microsoft!"
console.log(str7.replace(/Microsoft/,"MengJiangTao"))  //Visit MengJiangTao!
var str8="Visit Microsoft!"
    str8+='sdsadassa,Microsoft has dasdasd   Microsoft'
    str8+=' vvxcvcxvx,Microsoft ssss ddddd   Microsoft'
console.log(str8.replace(/Microsoft/g,"MengJiangTao"))  //全局替换
var text = "javasCript Tutorial";
console.log(text.replace(/javascript/i,"JavaScript"))  //JavaScript Tutorial
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值