【问题标题】:Regex for string which can contains either numbers, letters or a combination of both. Do not include symbols or special characters [duplicate]字符串的正则表达式,可以包含数字、字母或两者的组合。不要包含符号或特殊字符[重复]
【发布时间】:2021-04-17 04:48:47
【问题描述】:

我需要为以下条件验证用户的用户名。

  • 用户名可以包含字母、数字或两者的组合。
  • 用户名不得包含@$%^&*()+='~-_"等特殊字符

有效示例: 测试123

123测试

T123est

无效示例:

测试@%^&123

@#$测试

Test123@#$%^

下面是我试过的表达方式:

/[a-zA-Z\d]+/

/[^@$%^&()+=‘~-_"]/

【问题讨论】:

    标签: regex


    【解决方案1】:

    应该这样做:

    /^[A-Za-z\d]+$/
    

    ^ 和 $ 标记,字符串的开始和结束,并且需要不匹配输入的一部分。

    编辑:根据评论者的建议进行了更新,因为我不记得下划线是 \w

    的一部分

    【讨论】:

    • 我想一个有效的用户名不能为空。另请注意,\w[A-Za-z0-9_] 的简写,因此包含数字 下划线。我想你需要^[A-Za-z\d]+$
    • 或 \b[\w-[_]]+\b 来检查“单词”而不是完整的句段
    猜你喜欢
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 2015-07-21
    相关资源
    最近更新 更多