startsWith() 和 endsWith():检查字符串是否以某个子字符串开始或结束

155 阅读2分钟

startsWith()endsWith() 方法用于检查字符串是否以特定子字符串开头或结尾。以下是它们的详细介绍。

startsWith() 方法

语法:

str.startsWith(searchString[, position])
  • searchString:要搜索的子字符串。
  • position(可选) :从字符串的哪个位置开始检查,默认为 0

返回值:如果字符串以 searchString 开头,则返回 true;否则返回 false

示例:

let str = "Hello, World!";

console.log(str.startsWith("Hello")); // 输出: true
console.log(str.startsWith("World"));  // 输出: false
console.log(str.startsWith("Hello", 1)); // 输出: false(从索引1开始检查)

endsWith() 方法

语法:

str.endsWith(searchString[, length])
  • searchString:要搜索的子字符串。
  • length(可选) :检查字符串的长度,默认为字符串的实际长度。

返回值:如果字符串以 searchString 结尾,则返回 true;否则返回 false

示例:

let str = "Hello, World!";

console.log(str.endsWith("World!")); // 输出: true
console.log(str.endsWith("Hello"));   // 输出: false
console.log(str.endsWith("World", 12)); // 输出: true(检查到索引12的位置)

使用场景

  1. 验证输入格式:可以用 startsWith()endsWith() 来验证文件名、URL、电子邮件等的格式,例如检查文件扩展名或协议。
  2. 文本处理:在处理文本时,可以快速判断字符串是否符合特定开头或结尾,便于文本清理或格式化。
  3. 条件逻辑:在条件语句中使用这两个方法可以提高代码的可读性和简洁性,尤其是在判断字符串的开头或结尾时。

注意点

  1. 大小写敏感:这两个方法都是大小写敏感的。

    console.log("Hello".startsWith("hello")); // 输出: false
    
  2. 返回布尔值:它们返回布尔值,适合在条件判断中使用。

  3. 支持的版本startsWith()endsWith() 方法在 ECMAScript 6(ES6)及以上版本中可用,旧版本的 JavaScript 不支持。

  4. 性能考虑:对于小字符串,这些方法的性能是很好的,但对于大字符串和频繁的调用,还是需要考虑性能。

总结

  • startsWith()endsWith() 是检查字符串开头和结尾的便捷方法,可以简化条件判断和输入验证的逻辑。
  • 合理使用这两个方法可以提高代码的可读性和维护性。