Как насчет
var numberExtract = number.split('');
console.log(numberExtract.length)
for (var i = 0; i < numberExtract.length; i++) {
if (i==11) break; // you only wanted the first 11?
console.log(i+':'+numberExtract[i]);
}
Но ваш код все равно работает.Вот что я сделал, чтобы проверить это
<script>
/** ****** WINDOW ONLOAD EVENT HANDLER **************** */
window.onload = function(){
// DOM elements
var theButton = document.getElementById('theButton');
var form = document.formISBN;
var numberField = document.getElementById('theInput')
theButton.onclick = function(){
var number = numberField.value;
alert(number)
controlNr = calculControlNr(number);
// alert(controlNr);
}
}
function calculControlNr(number) {
number = number.replace(' ','','g');
number = number.replace('-','','g');
var sum = 0;
var sumEven = 0;
var sumUneven = 0;
var factor = 3;
var numberExtract = number.substr(0,11);
alert(numberExtract.length+':'+numberExtract);
for (var i = 0; i < numberExtract.length; i++) {
alert(i+':'+numberExtract.indexOf(numberExtract.charAt(i)));
}
}
</script>
<form name="formISBN">
<input id="theInput" type="text" value="01234567890-A A" />
<input id="theButton" type="button" value="click"/>
</form>