js 判断字符串是否全是 固定字符

举报
yd_220750360 发表于 2026/01/06 10:49:08 2026/01/06
【摘要】 在 JavaScript 中,要判断一个字符串是否全部由连字符 - 组成,可以使用以下几种方法: 方法 1:使用正则表达式function isAllHyphens(str) { return /^[-]+$/.test(str);}// 示例console.log(isAllHyphens("---")); // trueconsole.log(isAllHyphens("-a-")...

在 JavaScript 中,要判断一个字符串是否全部由连字符 - 组成,可以使用以下几种方法:

方法 1:使用正则表达式

function isAllHyphens(str) {
    return /^[-]+$/.test(str);
}

// 示例
console.log(isAllHyphens("---")); // true
console.log(isAllHyphens("-a-")); // false
console.log(isAllHyphens(""));    // true(空字符串也符合)

方法 2:遍历字符串检查每个字符

function isAllHyphens(str) {
    if (str.length === 0) return true; // 空字符串处理
    for (let char of str) {
        if (char !== '-') return false;
    }
    return true;
}

// 示例
console.log(isAllHyphens("---")); // true
console.log(isAllHyphens("-a-")); // false

方法 3:使用 splitjoin(不推荐,仅作演示)

function isAllHyphens(str) {
    return str.split('').every(char => char === '-');
}

// 示例
console.log(isAllHyphens("---")); // true
console.log(isAllHyphens("-a-")); // false

注意事项

  1. 空字符串:上述方法中,空字符串会被认为是“全是 -”(因为没有任何字符违反规则)。如果需要排除空字符串,可以添加额外检查:

    function isAllHyphens(str) {
        return str.length > 0 && /^[-]+$/.test(str);
    }
    
  2. 性能:对于长字符串,正则表达式(方法1)通常是最简洁高效的。

完整示例

function isAllHyphens(str) {
    return str.length > 0 && /^[-]+$/.test(str);
}

// 测试
console.log(isAllHyphens("---"));    // true
console.log(isAllHyphens("-"));      // true
console.log(isAllHyphens(""));       // false(因为排除了空字符串)
console.log(isAllHyphens("-a-"));    // false
console.log(isAllHyphens("-- --"));  // false(包含空格)
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。