Javascript, Come controllare se una stringa contiene un carattere

0
68

Nella guida di oggi  affronteremo un problema molto comune, che abbiamo trovato in più forum di  programmazione. L’ argomento è, come in Javascript possiamo controllare se una stringa contiene un carattere.

In Javascript possiamo affrontare questo problema in più modi, oggi vedremo come fare con le espressioni regolari e con la funzione indexOf (String).

1) Metodo usando le espressioni regolari.

<SCRIPT language=javascript>

var reg=new RegExp("Byte","gi");
var blog1="BlogByte";
var blog2="BlogBho";
if (reg.test(blog1)) {  alert('blog1 ok');} else {  alert('blog1 ko');}
if (reg.test(blog2)) {  alert('blog2 ok');} else {  alert('blog2 ko');}

</SCRIPT>

gi” significa ‘global‘ e ‘insentitive‘.

Il flag g (globale) specifica che devono essere individuate tutte le occorrenze del criterio, e il flag i (ignora maiuscole/minuscole) rende la ricerca senza distinzione maiuscole/minuscole.

Oppure in modo più semplice :

 var esito = (new RegExp('Byte')).test('BlogByte');

2) Metodo usando la funzione indexOf (String).

Il metodo indexOf restituisce l’inizio della sottostringa nell’oggetto String. Se la ricerca ha esito negativo, verrà restituito -1.

Sintassi funzione :

strObj. indexOf(subString[, startIndex])

ParametristrObj           :   Obbligatorio. Oggetto String o valore letterale stringa.subString    :    Obbligatorio. Sottostringa da cercare nella stringastartIndex  :   Facoltativa. Indice dal quale iniziare la ricerca dell’oggetto String.Se omesso, la ricerca verrà eseguita a partire dall’inizio della stringa.Esempio:

<SCRIPT language=javascript>
var str = "BlogByte";
alert('Byte si trova nella posizione:' + str.indexOf("Byte") ); 
if(str.indexOf("Byte") != -1){
    alert('Stringa Byte Trovata!');
}else{
    alert('Stringa Byte non Trovata');
}
</SCRIPT>

A Breve analizzeremo altri modi per veificare la presenza di un carattere in una stringa, per qualsiasi chiarimento fateci sapere.