检测base64编码

有没有人知道一个jQuery插件,可以检查文本是否偶然编码base64? 我希望能够解码base64字符串,但只有在字符串编码开始时才能解码。 我看到几个可以编码和解码的脚本,但我真的可以检查字符串是否编码。

这样的事情存在吗?

它真的必须是一个jQuery插件吗? 只需使用简单的JavaScript正则表达式匹配:

var base64Matcher = new RegExp("^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$"); // ... if (base64Matcher.test(someString)) { // It's likely base64 encoded. } else { // It's definitely not base64 encoded. } 

正则表达式模式取自此问题: RegEx用于解析或validationBase64数据 。

对于我来说,上面的答案没有计算在字符串末尾用等号(=或==)填充。 我已经为我更新了查询和以下工作。

var base64Matcher = new RegExp("^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})([=]{1,2})?$");

我知道这可能会迟到,但这是我到目前为止所提出的。 在这种情况下,我在jQuery中使用{match}。 这适用于图像或文本。 希望这可以帮助

 var sSampleBase64Text = 'data:text/plain;base64,MSkgTG9naW4gRGV0YWlscwogPj4gdGNfYWRtaW5fYXllZQogPj4gdHdpbmtsZXMyMnRo'; var mCheckMatchResult = sSampleBase64Text.match(/^(?:[data]{4}:(text|image|application)\/[az]*)/); var sAlertMessage = 'Valid base 64 encode string'; if (mCheckMatchResult === null || mCheckMatchResult.length <= 0) { sAlertMessage = 'Not a valid base 64 encode string'; } $('.result').append('

' + sAlertMessage + '

');

试着在这里查看: https : //jsfiddle.net/lajatomary/a8tugwe3/4/