Quitar acentos en javascript

chaosrealm

Bovino maduro
#1
Hey hermanos Bakunos, solicito su ayuda con este programita en javascript


ya hace todo lo que necesito, excepto quitar los acentos al pasar a mayusculas en el combo de Nombre y Apellido..


en la funcion de remover acentos es donde estoy atorado...NO QUITA LOS ACENTOSS!!! ya le hice de mil maneras y nada...si alguien podria ver donde esta el problema y hcharme la mano se los agradeceria muchooooooooooooo...
saludos y muchas gracias de antemano.


<html>

<head>

<style type="text/css">

span.error{

color:red;

}

</style>

</head>

<body>

<form onsubmit="return validate();">

<label for="name">Nombre</label>

<input type="text" name="name" id="name" onblur="toLowerCase(this);"/><br/>



<label for="lastName">Apellido</label>

<input type="text" name="lastName" id="lastName" onblur="toLowerCase(this);"/>

<br/>



<label for="username">Usuario</label>

<input type="text" name="username" id="username" onblur="toLowerCase(this);" maxlength="10"/>

<span id="usernameError" class="error"></span>

<br/>



<label for="password">Password</label>

<input type="password" name="password" id="password" />

<span id="passwordError" class="error"></span>

<br/>



<label for="confirmPassword">Confirmar Password</label>

<input type="password" name="confirmPassword" id="confirmPassword" />

<span id="confirmPasswordError" class="error"></span>

<br/>



<label for="birthDate">Fecha de nacimiento</label>

<select name="birthDateDay" id="birthDateDay"></select> - <select name="birthDateMonth" id="birthDateMonth"></select> - <select name="birthDateYear" id="birthDateYear"></select>

<span id="birthDateError" class="error"></span>

<br/>



<label for="age">Edad</label>

<input type="text" name="age" id="age" onfocus="setAge();"/><br/>



<label for="name">Intereses</label>

<ul>

<li><input type="checkbox" name="interests">Interes 1</li>

<li><input type="checkbox" name="interests">Interes 2</li>

<li><input type="checkbox" name="interests">Interes 3</li>

<li><input type="checkbox" name="interests">Interes 4</li>

<li><input type="checkbox" name="interests">Interes 5</li>

<li><input type="checkbox" name="interests">Interes 6</li>

<li><input type="checkbox" name="interests">Interes 7</li>

<li><input type="checkbox" name="interests">Interes 8</li>

<li><input type="checkbox" name="interests">Interes 9</li>

<li><input type="checkbox" name="interests">Interes 10</li>

</ul>

<span id="interestsError" class="error"></span>

<br/>



<label for="comments">Comentarios</label>

<textarea id="comments" rows="2" cols="40"></textarea>

<span id="commentsError" class="error"></span>

<br/>



<input type="submit" name="submit" value="Enviar" id="submit">

<input type="reset" name="reset" value="Reset">

</form>

<script type="text/javascript">

function fillSelect(selectId, from, to){

var select = document.getElementById(selectId);

for(var i = from; i <= to; i++){

var option = document.createElement("option");

option.innerHTML = i;

select.appendChild(option);

}

}



fillSelect('birthDateDay', 1, 31);

fillSelect('birthDateMonth', 1, 12);

fillSelect('birthDateYear', 1900, 2011);



function validate(){

var isValid = true;



if(document.getElementById('username').value.length < 6){

document.getElementById('usernameError').innerHTML = 'El usuario debe ser mayor a 6 caracteres';

isValid = false;

}else{

cleanError('usernameError');

}



var password = document.getElementById('password').value;

if(password.length == 0 || !hasNumbers(password) || !hasOneUppercaseLetter(password) || password.length != 8){

document.getElementById('passwordError').innerHTML = 'El password debe contener por lo menos un numero, una letra mayuscula y debe ser de 8 caracteres';

isValid = false;

}else{

cleanError('passwordError');

}



if(password != document.getElementById('confirmPassword').value){

displayError('confirmPasswordError', 'Los passwords deben ser iguales');

isValid = false;

}else{

cleanError('confirmPasswordError');

}

var year = document.getElementById('birthDateYear').value;

var month = document.getElementById('birthDateMonth').value;

var day = document.getElementById('birthDateDay').value;

if(isValidDate(new Number(year), new Number(month), new Number(day))){

setAge()

cleanError('birthDateError');

}else{

displayError('birthDateError', 'La fecha es invalida');

isValid = false;

}



var elements = document.getElementsByName('interests');

var interests = 0;

for(var i = 0; i< elements.length; i++){

var el = elements;

if(el.checked){

interests++;

}

}

if(interests != 3){

displayError('interestsError', 'Debe seleccionar 3 intereses');

isValid = false;

}else{

cleanError('interestsError');

}



if(document.getElementById('comments').value.length > 140){

displayError('commentsError', 'El comentario debe ser menor de 140 caracteres');

isValid = false;

}else{

cleanError('commentsError');

}



if(!isValid){

alert('Revise los errores');

}

return isValid;

}



function displayError(span, error){

document.getElementById(span).innerHTML = error;

}



function cleanError(span){

document.getElementById(span).innerHTML = '';

}



function toLowerCase(input){

input.value = removeAccents(input.value).toUpperCase();

}



function hasNumbers(s)

{

return /\d/.test(s);

}



function hasOneUppercaseLetter(s){

return /[A-Z]/.test(s);

}



function isValidDate(y, m, d){

var o = new Date(y, --m, d);

return o.getFullYear() == y && o.getMonth() == m && o.getDate() == d;

};



function setAge(){

var year = document.getElementById('birthDateYear').value;

var month = document.getElementById('birthDateMonth').value;

var day = document.getElementById('birthDateDay').value;

document.getElementById('age').value = getAge(year, month, day);

}



function getAge(year, month, day) {

var today = new Date();

var birthDate = new Date(year, month, day, 0, 0, 0);

var age = today.getFullYear() - birthDate.getFullYear();

var m = today.getMonth() - birthDate.getMonth();

if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {

age--;

}

return age;

}



function removeAccents(s){

var r = s.toLowerCase();

return r;

r = r.replace(new RegExp("\\s", 'g'),"");

r = r.replace(new RegExp("[àáâãäå]", 'g'),"a");

r = r.replace(new RegExp("æ", 'g'),"ae");

r = r.replace(new RegExp("ç", 'g'),"c");

r = r.replace(new RegExp("[èéêë]", 'g'),"e");

r = r.replace(new RegExp("[ìíîï]", 'g'),"i");

r = r.replace(new RegExp("ñ", 'g'),"n");

r = r.replace(new RegExp("[òóôõö]", 'g'),"o");

r = r.replace(new RegExp("œ", 'g'),"oe");

r = r.replace(new RegExp("[ùúûü]", 'g'),"u");

r = r.replace(new RegExp("[ýÿ]", 'g'),"y");

r = r.replace(new RegExp("\\W", 'g'),"");

return r;

};

</script>

</body>

</html>
 

Y3K

Bovino Milenario
#4
Si usaras etiquetas code y nos permitieras el acceso a un dev sería mucho mas fácil y rápido el poder ayudarte :)
 
Arriba