Hi,
To choose the best way you need to know the criterias for routing in js/regexroute. You can have different priorities of the call.route message. The smaller the number, the higher the priority.
You could set the javascript route first (just install the handler with priority 90). Default priority for call.route in regexroute is 100.
Route all the calls that you want from js, all those not routed (return false; -- in code), will pass on to be routed in regexroute. If you "return true;" with/without an error, then call won't pass on to
Various combinations are possible. You can fix handling call.route/call.preroute and playing with the priorities when installing handlers.
You also need to choose the type of javascript script to use: global script/routing script. If many calls reach the script you should use a global script. The routing script allows you to route and build small ivr but it starts an instance for every call. If you just want to route, global script is more eficient.