我正在尝试对Base64编码的256位数字进行这种验证,而无需=
填充,从而在客户端和服务器上进行正则表达式。
^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]$
这是我的代码,无法正常运行,因为任何值似乎都返回true:
$.fn.validateKey = function() {
var re = /^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]$/
var re = new RegExp($(this).val());
return re;
};
如何在不使用JavaScript填充的情况下验证Base 64编码的256位签名密钥?
最佳答案
您正在返回RegExp
对象。您想使用输入字符串返回其评估。
$.fn.validateKey = function() {
var re = /^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]$/;
return re.test($(this).val());
};
注释中的Jan指出了一些有趣的东西,其中
/
不需要在正则表达式中转义(至少在我的浏览器中)。我相信这是因为它是角色类的一部分。