js String汇总

// ----------  JavaScript String  ----------

// charAt charCodeAt
// concat repeat split
// slice substring
// replace replaceAll
// toLowerCase toUpperCase
// startsWith endsWith
// indexOf lastIndexOf includes
// match search


// charAt()
// 返回在指定位置的字符。
// string.charAt(index) 首位为index为0
console.log('ASDFGAHJKALA'.charAt(6)) // H


// charCodeAt()
// 返回在指定的位置的字符的 Unicode 编码。
// string.charCodeAt(index)
console.log('ASDFGAHJKALA'.charCodeAt(6)) // 72


// concat()
// 连接两个或更多字符串,并返回新的字符串。
// string.concat(string1, string2, ..., stringX)
console.log('123'.concat('-', '456', '-', '789')) // 123-456-789


// startsWith()
// 查看字符串是否以指定的子字符串开头。
// string.startsWith(searchvalue, start) start为查找的开始位置,默认为 0。
console.log('ASDFGAHJKALA'.startsWith('A')) // true
console.log('ASDFGAHJKALA'.startsWith('a')) // false
console.log('ASDFGAHJKALA'.startsWith('D')) // false
console.log('ASDFGAHJKALA'.startsWith('D', 2)) // true


// endsWith()
// 判断当前字符串是否是以指定的子字符串结尾的(区分大小写)。
// string.endsWith(searchvalue, length) length默认为string.length
console.log('ASDFGAHJKALA'.endsWith('A')) // true
console.log('ASDFGAHJKALA'.endsWith('D')) // false
console.log('ASDFGAHJKALA'.endsWith('d')) // false
console.log('ASDFGAHJKALA'.endsWith('D', 3)) // true  3即表示‘ASD’


// fromCharCode()
// 将 Unicode 编码转为字符。


// indexOf()
// 返回某个指定的字符串值在字符串中首次出现的位置。
// string.indexOf(searchvalue,start)
console.log('ASDFGAHJKALA'.indexOf('A')) // 0
console.log('ASDFGAHJKALA'.indexOf('A', 6)) // 9
console.log('ASDFGAHJKALA'.indexOf('H')) // 6


// lastIndexOf()
// 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。
// string.lastIndexOf(searchvalue,start)
console.log('ASDFGAHJKALA'.lastIndexOf('A')) // 11
console.log('ASDFGAHJKALA'.lastIndexOf('A', 6)) // 5


// includes()
// 查找字符串中是否包含指定的子字符串。
// string.includes(searchvalue, start)
console.log('ASDFGAHJKALA'.includes('H')) // true
console.log('ASDFGAHJKALA'.includes('')) // true
console.log('ASDFGAHJKALA'.includes('Q')) // false
console.log('ASDFGAHJKALA'.includes('AH')) // true
console.log('ASDFGAHJKALA'.includes('AH', 8)) // false


// match()
// 查找找到一个或多个正则表达式的匹配。
// string.match(regexp)
console.log('ASDFGAHJKALA'.match('H')) // [ 'H', index: 6, input: 'ASDFGAHJKALA', groups: undefined ]
console.log('ASDFGAHJKALA'.match(/H/)) // [ 'H', index: 6, input: 'ASDFGAHJKALA', groups: undefined ]
console.log('ASDFGAHJKAHLAH'.match(/H/g)) // [ 'H', 'H', 'H' ]
console.log('ASDFGAHJhKAhHLhAHh'.match(/H/gi)) // [ 'H', 'h', 'h', 'H', 'h', 'H', 'h' ]
  // 判断是否微信浏览器:
  function is_weixn(){
    var ua = window.navigator.userAgent.toLowerCase();
    if(ua.match(/MicroMessenger/i) == "micromessenger") {
        return true;
    } else {
        return false;
    }
  }
  // 仅在浏览器中时可查看
console.log(is_weixn())


// repeat()
// 复制字符串指定次数,并将它们连接在一起返回。
console.log('123-'.repeat(3)); // 123-123-123-


// replace()
// 在字符串中用一些字符替换另一些字符,或 替换一个与正则表达式匹配的 子串
// string.replace(searchvalue,newvalue)
console.log( '2022/11/12 00:12:13'.replace('/', '-')); // 2022-11/12 00:12:13
console.log( '2022/11/12 00:12:13'.replace(/\//, '-')); // 2022-11/12 00:12:13
console.log( 'Abc Daf Gai'.replace(/a/g, '-')); // Abc D-f G-i
console.log( 'Abc Daf Gai'.replace(/a/gi, '-')); // -bc D-f G-i


// replaceAll()  (浏览器兼容不是很好)
// 在字符串中查找匹配的子串,并替换与正则表达式匹配的所有子串。
// const newStr = str.replaceAll(regexp|substr, newSubstr|function)
console.log( '2022/11/12 00:12:13'.replaceAll('/', '-')); // 2022-11-12 00:12:13
console.log( '2022/11/12 00:12:13'.replace(/\//g, '-')); // 2022-11-12 00:12:13


// search()
// 查找与正则表达式相匹配的值。
// string.search(searchvalue)
console.log('ASDFGAHJKALA'.search('H')) // 6
console.log('ASDFGAHhJKhALhA'.search('aH')) // -1
console.log('ASDFGAHhJKhALhA'.search(/Lh/)) // 12
console.log('ASDFGAHhJKhALhA'.search(/LH/)) // -1
console.log('ASDFGAHhJKhALhA'.search(/LH/i)) // 12


// slice()
// 提取字符串的片断,并在新的字符串中返回被提取的部分。
// string.slice(start,end)
console.log('ASDFGAHhJKhALhA'.slice(0)) // ASDFGAHhJKhALhA
console.log('ASDFGAHhJKhALhA'.slice(0, 3)) // ASD
console.log('ASDFGAHhJKhALhA'.slice(3, 6)) // FGA
console.log('ASDFGAHhJKhALhA'.slice(-1)) // A
console.log('ASDFGAHhJKhALhA'.slice(-3, -1)) // Lh


// split()
// 把字符串分割为字符串数组。
// string.split(separator,limit)  limit 返回的数组的最大长度
console.log('ASDHJKA'.split('')) // [ 'A', 'S', 'D', 'H', 'J', 'K', 'A' ]
console.log('A S D H J K A'.split(' ')) // [ 'A', 'S', 'D', 'H', 'J', 'K', 'A' ]
console.log('A-S-D-H-J-K-A'.split('-')) // [ 'A', 'S', 'D', 'H', 'J', 'K', 'A' ]
console.log('A-S-D-H-J-K-A'.split('-', 2)) // [ 'A', 'S' ]


// substr()  (--- 已弃用 ---)
// 从起始索引号提取字符串中指定数目的字符。
// string.substr(start,length)
console.log('ASDFGAHhJKhALhA'.substr(0)) // ASDFGAHhJKhALhA
console.log('ASDFGAHhJKhALhA'.substr(0, 3)) // ASD
console.log('ASDFGAHhJKhALhA'.substr(3, 6)) // FGAHhJ
console.log('ASDFGAHhJKhALhA'.substr(-3)) // LhA


// substring()
// 提取字符串中两个指定的索引号之间的字符。
// string.substring(from, to) 均为非负整数
console.log('ASDFGAHhJKhALhA'.substring(0)) // ASDFGAHhJKhALhA
console.log('ASDFGAHhJKhALhA'.substring(0, 3)) // ASD
console.log('ASDFGAHhJKhALhA'.substring(3, 6)) // FGA
console.log('ASDFGAHhJKhALhA'.substring(6, 3)) // FGA
console.log('ASDFGAHhJKhALhA'.substring(-1)) // ASDFGAHhJKhALhA


// toLowerCase()
// 把字符串转换为小写。
// string.toLowerCase()
console.log('ASDFGAHhJKhALhA'.toLowerCase()) // asdfgahhjkhalha


// toUpperCase()
// 把字符串转换为大写。
// string.toUpperCase()
console.log('asdfgahhjkhalha'.toUpperCase()) // ASDFGAHhJKhALhA


// trim()
// 去除字符串两边的空白。
// string.trim()
console.log('   ASDFG  '.trim()) // ASDFG
console.log('   A S D F G  '.trim()) // 'A S D F G'


// toLocaleLowerCase() 几乎同toLowerCase
// 根据本地主机的语言环境把字符串转换为小写。


// toLocaleUpperCase() 几乎同toUpperCase
// 根据本地主机的语言环境把字符串转换为大写。



// 其他说明
/*
  substring 与 slice 区别:
  1、
  substring:两个参数会比较大小来判断哪一个是起始位参数哪一个是结束位置参数,通俗的讲就是小的一个数会作为起始 位置参数,大的一个数会作为结束位置参数;
  slice:则不会有这样的规则,只遵循大于0,从前面计数,小于0,从后面计数的原则。

  2、
  substring:除了两个参数会比较大小调换位置外,还满足小于0时按0处理的规则;
  slice:则是根据大于0和小于0来判断计数的前后顺序
*/

 

posted @ 2023-04-07 16:16  王希有  阅读(68)  评论(0编辑  收藏  举报