1. Why bother testing for "null"? Even if newI equals "null" the result of the replace appears the same.
2. For non-numeric values, I found it best to quote the REreplace function. If not expecting single or double-quotes in newI, try:
<CFSET newI="#REreplace('#newI#', '[^A-Za-z0-9]', ''...