【问题标题】:Javascript: How do you check if the string contains either letter/number of both?Javascript:如何检查字符串是否包含两者中的任何一个字母/数字?
【发布时间】:2018-01-15 15:46:11
【问题描述】:

我正在尝试确定字符串是否包含字母/数字或两者。

现在,我正在使用

/^[A-Za-z0-9_]+$/gi.test(newFolderName)

如果文本仅包含字符串,则返回 true,例如。 “abcd”或仅包含数字,例如。 “1234”。

该正则表达式似乎不适用于同时包含字符串和数字的字符串。前任。 “abcd 1234”。

** 我想在字母和数字之间允许空格。

谁能告诉我可以解决这个问题的正则表达式吗?

谢谢。

【问题讨论】:

  • abcd1234之间好像有空格
  • 1a 对我有用。
  • 注意空格也是字符
  • @Kaddath 好的,我明白了。如何在字母和数字之间留出空格?
  • @Eunicorn 将空格字符添加到集合中:^[\w ]+$

标签: javascript html node.js regex reactjs


【解决方案1】:

你可以试试这个正则表达式:

^[0-9A-Za-z ]+$

注意集合末尾的空格。

请记住,\w 匹配所有数字和所有字母。因此,按照 ctwheels 的建议,您可以使用以下语法更简洁:

^[\w ]+$

【讨论】:

  • 问题是现在您还隐式添加了制表符、换行符和一堆其他空白字符,在这种情况下可能会或可能不会接受。
  • 这个正则表达式允许字符串只有空格,比如``
【解决方案2】:

要求至少 1 个字母和 1 个数字并允许空格,
使用这个 -

/^(?=.*\d)(?=.*[a-zA-Z])[a-zA-Z\d ]+$/

【讨论】:

    猜你喜欢
    • 2012-02-22
    • 1970-01-01
    • 2020-12-12
    • 2012-03-07
    • 1970-01-01
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多