JSFiddle - React, Tailwind, and code Playground
by blowsie
HTML
<input type="text" />
<textarea id="output" cols="100" rows="1"></textarea>
JavaScript
var isCase = function (caseType, value) {
var bool = false;
if (
caseType == "upper") {
if (value == value.toUpperCase()) {
bool = true;
}
} else if (
caseType == "lower") {
if (value == value.toLowerCase()) {
bool = true;
}
}
return bool;
};
var isVowel = function (value) {
var bool = false;
var vowels = "aeiou";
value = value.toLowerCase();
if (vowels.indexOf(value) > -1) {
bool = true;
}
return bool;
};
$('input').keyup(function () {
var $this = $(this);
var value = $this.val();
var valueArray = value.split("");
var output = [];
var count = 0;
$.each(valueArray, function (k, v) {
var isUpper = isCase("upper", v);
if (k == 0 || k == 1 || k == valueArray.length - 1 || isUpper) {
var append = "";
var prepend = ""
var isAVowel = isVowel(v);
if (isUpper) {
prepend += "!";
} else {
prepend += "?";
}
if (isAVowel) {
append += "£";
}
else{
append += "$";
}
v = prepend + v + append;
output.push(v);
count++;
}
if ( k == valueArray.length - 1){
output.push(parseInt([valueArray.length * 100]) + parseInt([valueArray.length * count]))
}
console.log(k, v)
});
output = output.join("");
$("#output").val(output);
});