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 result = "";
  var length = string.length;
  for ( var pos = 0; pos < length; pos++ ) {
    c = string.charCodeAt( pos );
    if ( ( c > 47 && c < 58 ) || ( c > 64 && c < 91 ) || ( c > 96 && c < 123 ) ) {
      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 );