JSFiddle - React, Tailwind, and code Playground

by icodeforlove

HTML

<script src="https://rawgit.com/icodeforlove/string-saw/master/dist/saw-min.js"></script>
<h2>input</h2>
<textarea id="input" cols=300 rows=5></textarea>
<h2>passed</h2>
<textarea id="passed" cols=300 rows=15></textarea>
<h2>failed</h2>
<textarea id="failed" cols=300 rows=15></textarea>

JavaScript

$('#input').bind('blur focus', function () {
    var failed = [];
    var passed = saw($(this).val()).split('\n').filter(function (item) {
        var user = saw(item).split('\t').toObject('id', 'name', 'email');
      
		var validRegExp = new RegExp(user.name.replace(/-|_|\./g, '').split(' ').filter(function (part) {return part.length > 2;}).join('|'), 'i');
        
        var valid = validRegExp.test(user.email.replace(/-|_|\./g, ''));
		if (!valid) {
            failed.push(item);
        }
        return valid;
    }).toArray();
    
    $('#passed').val(passed.join('\n'));
    $('#failed').val(failed.join('\n'));
})