Skip to content

Commit 4695a84

Browse files
committed
isEmoji validator
1 parent 72573b3 commit 4695a84

4 files changed

Lines changed: 26 additions & 1 deletion

File tree

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ yarn.lock
1010
/index.js
1111
validator.js
1212
validator.min.js
13-
13+
.idea

src/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ import isLicensePlate from './lib/isLicensePlate';
129129
import isStrongPassword from './lib/isStrongPassword';
130130

131131
import isVAT from './lib/isVAT';
132+
import isEmoji from './lib/isEmoji';
132133

133134
const version = '13.15.15';
134135

@@ -245,6 +246,7 @@ const validator = {
245246
isLicensePlate,
246247
isVAT,
247248
ibanLocales,
249+
isEmoji,
248250
};
249251

250252
export default validator;

src/lib/isEmoji.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import assertString from './util/assertString';
2+
3+
const emojiRegex = /(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/;
4+
5+
export default function isEmoji(str) {
6+
assertString(str);
7+
return emojiRegex.test(str);
8+
}

test/validators.test.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15652,4 +15652,19 @@ describe('Validators', () => {
1565215652
],
1565315653
});
1565415654
});
15655+
it('should validate emojis', () => {
15656+
test({
15657+
validator: 'isEmoji',
15658+
valid: [
15659+
'🎉',
15660+
'❤️',
15661+
'🍔',
15662+
],
15663+
invalid: [
15664+
'abc',
15665+
'123',
15666+
'#000000',
15667+
],
15668+
});
15669+
});
1565515670
});

0 commit comments

Comments
 (0)