JSFiddle - React, Tailwind, and code Playground

by David Thomas

HTML

<table>
    <tr>
        <td class="ordinal">No numbers here</td>
        <td class="ordinal">1</td>
        <td class="ordinal">2</td>
        <td>Not a number at all</td>
        <td class="ordinal">Some text with a number, in this case: 8</td>
        <td class="ordinal">The 6 cell</td>
    </tr>
</table>

JavaScript

Number.prototype.ordinate = function(){
    var num = this,
        last = num.toString().slice(-1),
        ord = '';
    switch (last) {
        case '1':
            ord = 'st';
            break;
        case '2':
            ord = 'nd';
            break;
        case '3':
            ord = 'rd';
            break;
        default:
            ord = 'th';
            break;
    }
    return num.toString() + ord;
};

$(".ordinal").text(function (i,t) {
    return t.replace(/(\d+)/g, function(a){
        return parseInt(a, 10).ordinate();
    });
});