首页 > 解决方案 > 英镑符号在正则表达式中显示为?

问题描述

我一直在用头撞墙,试图解决这个问题。当我尝试输入英磅符号作为密码的一部分时,发送密码时,用户收到的密码带有?而不是£....

<asp:RegularExpressionValidator 
     ID="RegularExpressionValidator1" 
     ValidationExpression="^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,15}$"
     ErrorMessage="Passwords must be 8 characters min, must contain digits, special characters and upper and lower characters" 
     Display="Dynamic" 
     ControlToValidate="tbPass" 
     runat="server" 
     ForeColor="red">
</asp:RegularExpressionValidator>

所以,如果有人要求,我想要一个包含井号的密码发送......

我尝试使用 £ 并尝试在上面输入 163 .. 但密码仍然缺少 £ 并被替换为 ?.. 我知道这是编码或其他东西,但我不知道如何更改它。

标签: c#asp.netregex

解决方案


我假设您的密码存储在 UTF-8 编码以外的字符串中。如何更改您可以在此处看到的编码:如何在 C# 中将字符串转换为 UTF-8?


推荐阅读