Tu script no funciona porque filtro no esta definido.
Después no está muy claro si el numero que querés reemplazar esta contenido en una cadena o es simplemente un número, bueno lo hago según los datos que dejaste
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <input type="text" value="9999" id="numero" /> <script type="text/javascript"> //<![CDATA[
var ff = 8888; // con esto obtengo el numero actual
//var ff = document.getElementById('numero').value;
alert(ff);
var id =2000;
// filtro = ff.replace(ff,id); //el id es el otro numero sin toString()
// En casos más complejos si tenés que pasar una variable a una expresión regular usas:
// var ff2 = new RegExp(ff,'g');
// filtro = ff.toString().replace(ff2,id); //el id es el otro numero
filtro = ff.toString().replace(ff,id); //el id es el otro numero
alert(filtro);
//]]>
Si el número de la variable ff lo obtenes de algun input, ni siquiera sería necesario que uses toString(); ahi deje comentado por si querés probar.
como tu reemplazo es de un cosa por otra en su totalidad el primer parametro de replace no necesariamente tiene que ser una expresión regular, una simple cadena basta
Saludos