Salve ragazzi mi sa che c'è un bel bug qui e l'ho riscontrato sia in firefox che in IE.
In pratica sembra che non vengano rilevate le occorrenze corrispondenti a un pattern formato dal \b seguito da un carattere accentato (\b[àèìòù],\bà,\bà+ ecc...).
Supponiamo di avere il seguente codice:
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Untitled Document</title>
<script type='text/javascript'>
function replace_string(button){
var input=document.getElementById('stringa');
var str=input.value;
str=str.replace(new RegExp(/\b[àèìòù]/g),"");
input.value=str;
}
</script>
</head>
<body>
<form>
<input type='text' name='stringa' id='stringa'>
<button onclick='replace_string(this);return false;'>Prova</button>
</form>
</body>
</html>
Copiate e incollate,dopodichè apritelo con il vostro browser.
Nel campo input inserite una stringa che "matchi" il pattern (ad esempio àbc ùvz) e premete
il pulsante: noterete che non accade assolutamente niente! (mentre come forse avrete capito dovrebbero essere sostituite,nell'esempio fatto,à e ù con una stringa vuota).
Ma quello che più mi fa credere che si tratti un bug è che se cambiamo \b con ^ o \s avverrà la sostituzione (nel primo caso verrà eliminata la à nel secondo la ù e lo spazio che la precede).
Allora?Vincerò il premio Nobel?
Scherzi a parte vorrei sapere se riscontratelo stesso problema: non vorrei che sia qualcosa ceh riguardi solo me...ma non credo.