9318

by rwaldron

HTML

<div data-simple="works"
data-no-numbers="works"
data-numbers-at-end-123="works"
data-numbers-123-in-middle="breaks"
data-12-numbers-first="breaks"></div>

JavaScript

var div = $('div'), 
    keys = [];

$.each(div.data(), function (key, val) {
    keys.push(key);
});
console.log(keys.join(', '));


var string = "numbers-at-end-123", 
    
    rdashAlpha = /-([a-z]|[0-9])/ig,
    
    fcamelCase = function( all, letter ) {
        return (letter + "").toUpperCase();
    };

console.log( string.replace( rdashAlpha, fcamelCase ) )