【问题标题】:Check if first character of a string is a letter in JavaScript检查字符串的第一个字符是否是 JavaScript 中的字母
【发布时间】:2021-07-29 00:51:30
【问题描述】:

我正在尝试编写一个检查字符串是否存在多个条件的函数。但是,当我试图弄清楚如何检查字符串中的第一个字符是否只是一个字母时,我遇到了困难。

function SearchingChallenge(str) { 

// code goes here  
let onlyLetters = /^[a-zA-Z]+$/;

if (str.length > 4 && str.length < 25){
  if (onlyLetters.test(str)){
  return true;
} else {
  return false;
}
} else {
return false;
}
}

"u__adced_123" 应该返回 true,但它返回 false。我试过 str[0]==onlyLetters 但还是一样。

【问题讨论】:

  • 那是因为您的正则表达式显示:“所有字符必须是字母,从头到尾。”仔细查看正则表达式中的插入符号和美元符号。
  • 您能否详细说明您是如何得出RegExp 模式/^[a-zA-Z]+$/ 应该与字符串u__adced_123 匹配的结论的?在上述模式中,我没有看到任何与下划线 _ 匹配的内容。

标签: javascript string


【解决方案1】:

onlyLetters.test(str) 检查整​​个字符串。要获取第一个字符,请使用str.charAt(0)

function SearchingChallenge(str) {
  let onlyLetters = /^[a-zA-Z]+$/;
  if (str.length > 4 && str.length < 25) {
    if (onlyLetters.test(str.charAt(0))) {
      return true;
    } else {
      return false;
    }
  } else {
    return false;
  }
}
console.log(SearchingChallenge('Hello World!'));
console.log(SearchingChallenge('!dlroW olleH'));
console.log(SearchingChallenge('u__adced_123'));

【讨论】:

    【解决方案2】:

    const SearchingChallenge = str => (
      !!str[4] &&             // > 4
      !str[24] &&             // < 25
      (/^[a-z]+$/i).test(str) // alpha
    );
    
    // Tests...
    
    // true: greater than four characters
    console.log(SearchingChallenge('Fiver'));
    
    // true: less than twenty-five characters
    console.log(SearchingChallenge('TwentyFouroooooooooooooo'));
    
    // false: twenty-five or more characters
    console.log(SearchingChallenge('TwentyFiveooooooooooooooo'));
    
    // false: contains numbers
    console.log(SearchingChallenge('abcd1234'));
    
    // false: less than five characters
    console.log(SearchingChallenge('Four'));

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-19
      相关资源
      最近更新 更多