解码双引号和单引号

时间:2015-06-16 15:26:37

标签: javascript c# asp.net

目前,我有 JavaScript ,它正在检查我传入的密码字符串。我的 JavaScript 工作正常,问题出在我的 C# < / p>

当我输入密码:a+b=123"I'mHappy时,它会毫无问题地传递 JavaScript ,但由于单引号和双引号,我的 C#中出现错误。

总体问题:是否有一种很好的方法对其进行编码,以便处理单引号和双引号?

调试器密码: "a+b=123&quot;I&#39;mHappy"

JavaScript的:

if (password.match(/(.*[!,%,&,@@,#,$,^,*,?,_,~,+,=,`,(,),|,\\,.,/,{,},:,;,",',[,\-,\]])/)) {
                $('#passwordSpecialCharacterImg').removeClass('hidden');
                $('#passwordSpecialCharacterImg').addClass('shown');
                count++;
            } 

C#

public void CreateUser(string username, string password, bool isUserEnabled)
{
    using (var context = CreateContext())
    {
        using (var user = new UserPrincipal(context, GetActiveDirectoryUsername(username), password, isUserEnabled))
        {
            user.Save();
        }
    }
}

CreateUser Call:

private void RegisterUser(int Id, string password, bool isEnabled)
{
     var strId = Convert.ToString(Id);
     _authenticateProvider.CreateUser(strId, password, isEnabled);
}

1 个答案:

答案 0 :(得分:1)

经过进一步研究后,我发现我需要添加的是CreateUser方法的以下行:

password = HttpUtility.HtmlDecode(password);

这允许编译器解释信息。