目前,我有 JavaScript ,它正在检查我传入的密码字符串。我的 JavaScript 工作正常,问题出在我的 C# < / p>
当我输入密码:a+b=123"I'mHappy
时,它会毫无问题地传递 JavaScript ,但由于单引号和双引号,我的 C#中出现错误。
总体问题:是否有一种很好的方法对其进行编码,以便处理单引号和双引号?
调试器密码: "a+b=123"I'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);
}
答案 0 :(得分:1)
经过进一步研究后,我发现我需要添加的是CreateUser
方法的以下行:
password = HttpUtility.HtmlDecode(password);
这允许编译器解释信息。