js判断一个字符串是以某个字符串开头

方法1--substr() 方法

  • substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
if("123".substr(0, 2) == "12"){
    console.log(true);
}

方法2--substring() 方法

  • substring() 方法用于提取字符串中介于两个指定下标之间的字符。
if("123".substring(0, 2) == "12"){
    console.log(true);
}

方法3--slice()方法

  • slice() 方法可从已有的数组/字符串中返回选定的元素。
if("123".slice(0,2) == "12"){
    console.log(true);
}

方法4--indexOf() 方法

  • indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
if("123".indexOf("12") == 0) {
    console.log(true);
}

方法5--startsWith(),endsWith()

  • startsWith()方法用来判断当前字符串是否以另外一个给定的子字符串开头,并根据判断结果返回 true 或 false
  • endsWith()方法用来判断当前字符串是否以另外一个给定的子字符串结尾,并根据判断结果返回 true 或 false

兼容性不好

console.log("123".startsWith("12")); //true

console.log("123".endsWith("23")); //true

// 兼容
if (typeof String.prototype.startsWith != 'function') {
 String.prototype.startsWith = function (prefix){
  return this.slice(0, prefix.length) === prefix;
 };
}

方法6--正则:

  • search()方法:在字符串搜索符合正则的内容,搜索到就返回出现的位置(从0开始,如果匹配的不只是一个字母,那只会返回第一个字母的位置), 如果搜索失败就返回 -1
  • test()方法:它接受一个字符串参数。在模式与该参数匹配的情况下返回true,否则返回false
  • match()方法:在字符串搜索符合正则的内容,搜索到就返回出现的位置(从0开始,如果匹配的不只是一个字母,那只会返回第一个字母的位置),搜索成功返回数组,否则返回null
if("123".search("12") == 0) {
    console.log(true);
}

if(new RegExp("^12.*$").test("123")) {
    console.log(true);
}

if("123".match(new RegExp("^12.*$"))) {
    console.log(true);
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,欢迎关注小编,一起涨知识。

猜你喜欢

转载自blog.csdn.net/weixin_38131507/article/details/103030267