JSFiddle - React, Tailwind, and code Playground

JavaScript

var iters = 10000000;
var withRegex = function( string ) {
  return string.replace( /[^a-z0-9]/ig, '' );
};
var withRegex2 = function( string ) {
  return string.replace( /[^a-z0-9]+/ig, '' );
};
var withPureJS = function( string ) {
  var isChar = function( char ) {
    c = char.charCodeAt( 0 );
    return ( c > 47 && c < 58 ) || ( c > 64 && c < 91 ) || ( c > 96 && c < 123 );
  };
  var result = "";
  var length = string.length;
  for ( var pos = 0; pos < length; pos++ ) {
    if ( isChar( string[pos] ) ) {
      result += string[pos];
    };
  };
  return result;
};

function test( func, string, iters ) {
  var tStart = Date.now();
  var etalon = withRegex( string );
  for ( var i=0; i<iters; i++ ) {
      if ( func( string ) != etalon ) {
        console.log( "error" );
        break;
      };
  };
  var tEnd = Date.now();
  console.log( "test "+counter, tEnd - tStart );
  counter++;
};

console.log( "Test started" );
var counter = 1;
test( withRegex, "abc0123$%^&*", iters );
test( withRegex2, "abc0123$%^&*", iters );
test( withPureJS, "abc0123$%^&*", iters );