【发布时间】:2020-10-02 09:25:33
【问题描述】:
如何检查一个字符串,它是否只包含键盘字符,即 a-z、A-Z、0-9,以及所有特殊字符(如 ~!@#$%^&*()_+|}{": ?>
【问题讨论】:
-
也许 OP 不适合 RegEx(即使是简单的)并且不喜欢使用它们,这完全有道理
-
@Cid: 可能是这样,但这样说——包含更多细节——比“这个或其他人对我没有帮助”有用得多。如果我们不知道现有答案在哪些方面没有帮助,那么我们提供的任何其他答案也可能会被拒绝。
-
@MgBhadurudeen 只需将您想要支持的所有字符添加到正则表达式集合中。例如
^[a-zA-Z0-9!@#$%^&*().,\-+]*$只需注意某些字符(如-)需要用`\`转义 -
@MgBhadurudeen 你想做什么?这听起来像是一个 XY 问题。您要解决的实际问题是什么?您是否尝试强制执行某种密码字符限制?任何人都可以随时将任何键盘布局添加到任何机器(PC、手机)并在它们之间切换。即使在一个国家也有多种布局,尤其是美国。
-
你错了,我已经发布了布局之间差异的链接。同样,真正的问题是什么?您描述的是尝试的解决方案。你想清理输入吗?如果您想限制密码字符,您将引入一个漏洞。美国 (NIST) 和英国 (NSCS) 当局warn against restricting password input.
标签: c#