Predicate that returns true if base64 string.
npm install is-base64
var isBase64 = require('is-base64');
var string = 'iVBORw0KGgoAAAAN ... kSuQmCC';
var stringWithMime = 'data:image/png;base64,iVBORw0KGgoAAAA ... AAElFTkSuQmCC';
console.log(isBase64(string)); // true
console.log(isBase64(stringWithMime)); // false
console.log(isBase64(stringWithMime, {allowMime: true})); // true
console.log(isBase64(string, {mimeRequired: true})); // false
console.log(isBase64(stringWithMime, {mimeRequired: true})); // true
console.log(isBase64('1342234')); // false
console.log(isBase64('afQ$%rfew')); // false
console.log(isBase64('dfasdfr342')); // false
console.log(isBase64('uuLMhh==')); // true
console.log(isBase64('uuLMhh')); // false
console.log(isBase64('uuLMhh', {paddingRequired: false})); // true
console.log(isBase64('')); // true
console.log(isBase64('', {allowEmpty: false})); // false
-
{string} string - string to check if is valid base64 string
-
{object} [options]
- [options.allowEmpty=true] {boolean} - returns true for empty string
- [options.allowMime=false] {boolean} - returns true for valid strings with optional mime
- [options.mimeRequired=false] {boolean} - returns true for valid strings with mime
- [options.paddingRequired=true] {boolean} - returns true for valid strings with valid padding
Install CLI:
npm install -g is-base64
CLI example:
$ is-base64 aGVsbG8gd29ybGQ=
true
Piping example:
$ echo aGVsbG8gd29ybGQ= | is-base64
true
-
Q: Why is empty string
""
a valid base64 string by default?-
A: According to RFC 4648 Section 10, the following is valid test vector:
BASE64("") = ""
-
MIT