Для того чтобы убедиться в работоспособности скрипта воспользуйтесь формой перевода чисел расположенной ниже.
Обращаем Ваше внимание, что для вывода корректного результата работы скрипта рекомендуется вводить числа до 40 тысяч (т.к. ? = 10000). Если Вам требуется перевести большое число (например, 123456), то разбейте его по три знака (123 и 456) и переведите каждое число в отдельности. После перевода объедините получившиеся числа (CXXIII CDLVI) т.к. такой вариант написания длинных чисел тоже допускается.
                        
HTML код:
<div align="center">
<form name="transfer_form">
Число: <input type="text" size="10" name="numeric"><br>
<input type="radio" name="direction" value="arab-roman" checked>В римские
<input type="radio" name="direction" value="roman-arab">В арабские<br>
<input type="button" value="Перевести" onclick="translate()"><br>
Результат: <b><span id="rez"></span></b><br>
Код: <input type="text" size="25" name="numerals">
</form>
</div>
Дальше необходимо добавить JavaScript код, который выполняет преобразование чисел в нужном направлении. Для этого скопируйте код, расположенный ниже себе на сайт:
JavaScript код:
<script type="text/javascript">
var font_ar = [1,4,5,9,10,40,50,90,100,400,500,900,1000,4000,5000,9000,10000];
var font_rom = ["I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M",
"Mↁ","ↁ","ↁↂ","ↂ"];
function to_roman(text) {
 if (!text) return '';
 var rezult = '';
 var n = font_ar.length - 1;
 while (text > 0) {
    if (text >= font_ar[n]) {
        rezult += font_rom[n];
        text -= font_ar[n];
    }
    else n--;
 }
 return rezult;
}
function to_arab(text) {
 var text = text.toUpperCase();
 var rezult = 0;
 var posit = 0;
 var n = font_ar.length - 1;
 while (n >= 0 && posit < text.length) {
    if (text.substr(posit, font_rom[n].length) == font_rom[n]) {
        rezult += font_ar[n];
        posit += font_rom[n].length;
    }
    else n--;
 }
 return rezult;
}
function translate() {
 obj = window.document.transfer_form;
 str = obj.numeric.value;
 if (obj.direction[0].checked == true) { itog = to_roman(str); }
 else { itog = to_arab(str); }
 obj.numerals.value = itog;
 xxx.innerHTML = itog;
}
</script> 
  Скрипт перевода в римские числа и обратно
 Скрипт перевода в римские числа и обратно