Преобразование строки в int более сложно, чем просто преобразование числа. Вы думаете о следующих проблемах:
Используйте это регулярное выражение: ^\d{5}(, ?\d{5})*$
Он указывает 5 цифр в начале: ^\d{5}
и любое количество других комбинаций запятой, пробелом и 5 цифр: (, ?\d{5})*
Вы можете использовать:
var s='12345,45678, 12345';
var m = s.match(/^(?:\d{5},\s?)*\d{5}$/);
<html>
<head>
<title></title>
<script type="text/javascript">
function Validate(txt) {
txt.value = txt.value.replace(/[^, 0-9]+/g, '');
}
</script>
</head>
<body>
<form>
<input type = "text" id ="txt" onkeyup = "Validate(this)" />
</form>
</body>
</html>