Bible Reference splitter

Splits bible reference input into separate book/chapter/verse values.

by Preston Badeer

HTML

<input type="text" onchange="reference(this.value)"/>

JavaScript

// Split reference types: "Book", "Book 1", "Book 1:1" into individual book/chapter/verse values


function reference(input) {
    pbook = new RegExp("[a-zA-Z]+");
    pchap = new RegExp("[a-zA-Z]+ [0-9]+");
    pverse = new RegExp("[a-zA-Z]+ [0-9]+:[0-9]+");

    if (pverse.test(input)) {
        ref = input.split(" ");
        ref2 = ref[1].split(":");

        book = ref[0];
        chapter = ref2[0] * 1;
        verse = ref2[1] * 1;

        alert('Book: ' + book + ', Chapter: ' + chapter + ', Verse: ' + verse);
    }

    else if (pchap.test(input)) {
        ref = input.split(" ");

        book = ref[0];
        chapter = ref[1] * 1;

        alert('Book: ' + book + ', Chapter: ' + chapter);
    }

    else if (pbook.test(input)) {
        alert('Book: ' + input);
    }
}