regex - 字符串的正则表达式,可以包含数字、字母或两者的组合。不要包含符号或特殊字符
问题描述
我需要为以下条件验证用户的用户名。
- 用户名可以包含字母、数字或两者的组合。
- 用户名不能包含任何特殊字符,例如@$%^&*()+='~-_"
有效示例: Test123
123测试
T123est
无效示例:
测试@%^&123
@#$测试
测试123@#$%^
下面是我试过的表达方式:
/[a-zA-Z\d]+/
/[^@$%^& ()+='~-_"] /
解决方案
这应该这样做:
/^[A-Za-z\d]+$/
^ 和 $ 标记,字符串的开始和结束,并且需要不匹配输入的一部分。
编辑:根据评论者的建议更新,因为我不记得下划线是 \w 的一部分
推荐阅读
- ios - 如何使用 Swift 在 iOS 文本字段中触发“建议新密码”
- javascript - 我的 javascript fetch API 调用有什么问题?
- c++ - 尝试打印 unicode 字符 C++ 断言失败
- nginx - FFMPEG SRT 多个呼叫者进入一个听众?
- python - Keras 自定义损失:直方图
- python - 如何实现 Django 不区分大小写的模型字段?
- python - python setup.py 安装 n
- python - 如何在 Python 的 asyncio 中超时调用
- javascript - 过滤掉 API 响应
- json - Http Delete 在 Flutter 中抛出错误响应代码 405