【问题标题】:How to check if a string has any letters or characters? [duplicate]如何检查字符串是否有任何字母或字符? [复制]
【发布时间】:2019-06-26 08:11:29
【问题描述】:

我需要检查输入是否只有数字和空格(没有字母或字符)。

尝试使用 .includes


var string = 'abc'

if(string.includes(A-Za)){
console.log('bad')
} else {
console.log('good')
}

【问题讨论】:

  • 您要检查它是否包含某些字符或不包含某些字符?
  • @NinaScholz 我想检查它是否包含任何字母或字符(好像:逗号、点、从句)
  • 请编辑您的问题并添加更多用例。
  • 所以你只想接受数字和空格。或拒绝任何包含至少一个字符的字符串?如果是后者,您要拒绝所有字符还是只拒绝英文字典? ,./;Γк 应该通过检查吗?

标签: javascript string input


【解决方案1】:

使用Regex.test()

var string = 'abc'

if (/[A-Za-z]/.test(string)) {
  console.log('bad')
} else {
  console.log('good')
}

【讨论】:

  • 我需要检查输入是否只有数字和空格。您的正则表达式不正确。例如:; ? / + =
  • 如果string = "?" 你会得到“好”,这并不总是有效,但实际上并非如此
【解决方案2】:

只需使用从头到尾匹配数字的简单正则表达式:

const bad = 'abc';
const good = 123;
const re = /^\d*$/;

const goodOrBad = str => re.test(str) ? "Good" : "Bad";

console.log(goodOrBad(bad));
console.log(goodOrBad(good));

【讨论】:

    【解决方案3】:

    console.log(check("abc"));
    console.log(check("123"));
    console.log(check("123 123"));
    console.log(check("123 abc"));
    
    function check(txt) {
      return /^(\d|\s)*$/.test(txt) ? "good" : "bad";
    }

    细分:^(\d|\s)*$

    • ^: 字符串开始
    • $: 字符串结束
    • \d:匹配一个数字(也可以写成[0-9]
    • \s:匹配空格或任何其他空白字符(如果你只想要空格,那么
    • \d|\s:匹配数字或空格
    • (\d|\s)*:匹配数字或空格0-多次(也可以写成(\d|\s){0,}

    【讨论】:

    • 这对我来说看起来像是正确的解决方案,检查数字和空格,而其他答案没有
    • @NickParsons 不太确定,因为 OP 说 i would like to check if it cointains any letters or characters(as if: commas,dots, clauses)
    • 你要么检查它是否只有数字和空格,或者它是否有任何数字或字符。它只是颠倒了。
    • @TheMisterS 是否应该将一个既不包含(即,./,)的字符串打印出goodbad
    【解决方案4】:

    试试这个正则表达式 ^[0-9]*$

    console.log( /^[0-9]*$/.test('45') ? "Good" : "Bad")

    【讨论】:

      【解决方案5】:

      检查每个字符:

      for (i = 0; i < string.length; i++) { 
        if (isNan(string[i]) && string[i] == ' ') {
        console.log('bad')
      } else {
        console.log('good')
      }
      }
      

      【讨论】:

      • 我很确定如果它检查一个空格('')它会打印好
      • 哦,是的,我忘记了空格!您可以在 if 中添加一个和 (&&)
      猜你喜欢
      • 2011-10-13
      • 1970-01-01
      • 2017-10-18
      • 2017-02-01
      • 2017-01-08
      • 2023-03-23
      • 2011-04-03
      • 2012-02-22
      相关资源
      最近更新 更多