[Javascript] validare lo spazio con js

napuleone

Utente Attivo
12 Nov 2014
76
0
6
ho letto le discussioni precedenti ma non riesco a venirne a capo
voglio validare delle frasi che contengono solo caratteri-numeri qualche speciale e gli spazzi.
riesco a validare tutto ma se metto uno spazio no: queste le prove fatte
var reg_exp = /^([a-z0-9@=!#?])/i;
var reg_exp = /^([a-z0-9@=!#?])*/i;
var reg_exp = /^([a-z0-9@=!#?])*$/i;
var reg_exp = /^([a-z0-9@=!#?])+$/i;
var reg_exp = /^([a-z0-9@=!#?]*)/i;
ed altro che non ricordo ma senza successo:
esempio di frase "io non riesco a farlo e voi?"
grazie
 

WmbertSea

Moderatore
Membro dello Staff
MOD
28 Nov 2014
432
73
28
Questa è una classe di caratteri [a-z0-9@=!#?] ma non vedo dove hai messo lo spazio.
Non capisco, hai provato ad inserirlo dentro questa classe?

Il gruppo di cattura che hai definito tra parentesi, non dovrebbe servirti se devi semplicemente validare un'intera riga di testo, a meno che la cosa non sia più complessa.

Qui un esempio con qualche log:
Codice:
 var reg_exp = /^[a-z0-9@=!#? ]+$/i;

 console.log(reg_exp.test("io non riesco a farlo e voi?")); // true
 console.log(reg_exp.test("Mah! Ci potrei provare"));       // true
 console.log(reg_exp.test("#123 @prova = prova"));          // true
 console.log(reg_exp.test("Questo è false"));               // false
 console.log(reg_exp.test("Anche questo..."));              // false
 console.log(reg_exp.test("-e pure questo qua-"));          // false
 
  • Like
Reactions: napuleone

napuleone

Utente Attivo
12 Nov 2014
76
0
6
innanzitutto Grazie,
effettivamente la cosa è più complessa ovvero sono arrivato a questo
/^[a-zA-Z0-9 _.'"-@=!#$%&~:;?^*+,([\]){|}/]*$/i;
dove inserendo lo spazio dopo il 9 non me lo valida
sono tutti i caratteri che php riconosce senza vederli come <?>
poi dovrei testare anche gli a capo ma ci devo ancora arrivare.

e comunque ho provato a copiare il tuo e mi fa lo stesso (utilizzo chrome)
vale anche per firefox
 
Ultima modifica:

WmbertSea

Moderatore
Membro dello Staff
MOD
28 Nov 2014
432
73
28
Ok, hai aggiunto dei caratteri ma la complessità resta uguale, cioè non vedo la necessità di definire un gruppo di cattura come hai fatto inizialmente; infatti qui lo hai tolto.

Giusto qualche nota stonata:

  • oltre a-z hai inserito A-Z ma in questo caso è totalmente superfluo perché hai specificato il modificatore "i" (case insensitive) che indica di non fare distinzione tra maiuscole e minuscole. Basterebbe quindi giusto a-z.

  • il carattere - (meno) ha una funzione particolare all'interno di una classe di caratteri, proprio come nel caso di a-z dove specifica di considerare dal carattere a (indice 97) al carattere z (indice 122). Suppongo che tu lo voglia inserire come carattere singolo ma lo hai inserito in questo modo "-@, per cui anche in questo caso gli stai dicendo di comprendere tutti i caratteri da " (indice 34) a @ (indice 64). Chiaramente non c'è un errore di sintassi ma immagino non fosse quella la tua intenzione. Per inserirlo come carattere dentro la classe, dovrai definirlo con un escape \-, così come hai fatto per la parentesi quadra chiusa \].
Ad ogni modo, a prescindere da queste cose dovrebbe comunque funzionare. Bisogna capire come stai applicando questa espressione.

Per eseguire la ricerca su una stringa multiriga, dovresti inserire il metacarattere \n (o meglio \n\r) dentro la stessa classe e aggiungere il modificatore g (ricerca globale).

Se non funziona, prova a postare anche il resto dello script che utilizzi per applicare questa regex.
 
  • Like
Reactions: napuleone

napuleone

Utente Attivo
12 Nov 2014
76
0
6
:rolleyes::rolleyes::rolleyes::rolleyes:
piccolo problema ...... da non crederci
ho la funzione checkS in un file con altre funzioni dove continuavo a fare le modifiche ...... nel frattempo ......
mi ero creato una pagina di test ed avevo inserito la stessa funzione (che richiamavo ma non modificavo)
:mad::mad::mad: ho cercato invano l'icona dove sbatto la testa contro il muro
grazie ma stai nei paraggi che adesso provo con \n e \r
grazie ti devo un caffè :):):)
 

WmbertSea

Moderatore
Membro dello Staff
MOD
28 Nov 2014
432
73
28
Per testare le espressioni regolari io spesso uso dei tool online.
Ti suggerisco questi due in cui ti viene indicata anche la descrizione per le varie parti del pattern:
https://regex101.com/
https://www.regextester.com/
Nel caso, occhio a selezionare l'opzione "Javascript" tra i diversi linguaggi.

:mad::mad::mad: ho cercato invano l'icona dove sbatto la testa contro il muro
:D forse sull'altro forum.

grazie ma stai nei paraggi che adesso provo con \n e \r
grazie ti devo un caffè :):):)
Figurati, sto qui in famiglia fino all'epifania. Grazie per il caffè, ci sta a meraviglia con una fetta di panettone ;)

Nel mentre, buon proseguimento.
 
  • Like
Reactions: napuleone

napuleone

Utente Attivo
12 Nov 2014
76
0
6
Risolto (al tentativo n.3)
quel sito è eccezionale
al prossimo problema
Buon Natale
 
Discussioni simili
Autore Titolo Forum Risposte Data
D [Javascript] Validare dati in un form prima di spedirlo Javascript 1
I Creare un banner temporaneo JavaScript Javascript 0
S Impossibile scorrere un oggetto in JavaScript Javascript 0
N Passare array da php a javascript PHP 5
L Quiz javascript funzionante da migliorare Javascript 0
P errore 404 con javascript Javascript 2
D aiuto funzioni javascript Javascript 1
M Upload immagine con javascript problemi con FormData() Javascript 1
L countdown multiplo javascript Javascript 1
S Problemi Javascript + Aruba Javascript 2
M Inviare un file su un server remoto con JavaScript Javascript 0
T a href="javascript:;" Javascript 1
F Creare elementi html con javascript Javascript 3
A pulsante di update campo mysql con javascript Javascript 2
8 Javascript - PDF Form Javascript 0
B javascript per problemi con pdf e Safari Javascript 0
N informazione javascript Programmazione 0
I Eecuzione di javascript in ciclo foreach php. PHP 7
P javascript:document.forms Javascript 7
S Consiglio esercizio Javascript Javascript 2
MarcoGrazia Aggiungere o rimuovere classi in javascript Javascript 1
P Passaggio id php a javascript PHP 6
R Confrontare il dominio di una mail con una stringa contenente un dominio personalizzato, tutto ciò in php o javascript PHP 0
E lettura da un Database con Javascript jQuery 2
V TRIS in javascript Javascript 1
IClaude Funzione Javascript Javascript 8
Alex_70 Javascript date color Javascript 3
F Convertire JavaScript per la compatibilità nei browser obsoleti Javascript 0
I Passare dei parametri in javascript PHP 0
Shyson Meglio Javascript o HTML? Javascript 4
G Problema verifica palindromo e verifica pari e dispari javascript Javascript 0
M Chiamare pagina php da javascript Javascript 8
M Errore JavaScript per php [objeto HTMLParagraphElement] PHP 0
D Javascript per il download dei dati Javascript 0
grgfede Problema javascript con aruba Javascript 1
R Cerco supporto in programmazione javascript Offerte e Richieste di Lavoro e/o Collaborazione 0
webmachine [PHP] [JAVASCRIPT] Form strano in HTML PHP PHP 1
W Modificare il Type di un Input box in javascript ovunque si trovi Javascript 0
I javascript come caricare una pagina sopra quella corrente in automatico Javascript 2
L [Javascript] Problema salvataggio dati in db Javascript 1
max1974 [Javascript] Grafico chartjs con dati da J.ajax Javascript 3
G Quiz Javascript Javascript 4
A [Javascript] Scrittura su più campi contemporaneamente Javascript 18
F classic asp popolare combo box javascript Presentati al Forum 1
claudio_lorenzo [Javascript] aiuto su jquery per calcolo altezze dom Javascript 1
F [Javascript] comando innerHTML non funziona Javascript 5
alexice51 proggrammi per scrivere in javascript? Javascript 3
max1974 [Javascript] Accordion aria-exspanded Javascript 0
D [Javascript] salvare immagine canvas - paypal Javascript 0
O [Javascript] Conflitto Jquery: forse... Javascript 0

Discussioni simili