Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-12-2012, 14:19   #1
Gianluca99
Senior Member
 
L'Avatar di Gianluca99
 
Iscritto dal: Oct 2005
Città: MC
Messaggi: 1382
[HTML-JSP] Formattazione testo input

Salve, mi servirebbero un po' di consigli su come affrontare un problema

ho un banale form contenente un input box e un tasto "invia"
sto cercando un modo per formattare in tempo reale un certo input dato sul'input box

esempio:
inserisco la cifra 1234567890 sull'inputbox, mentre sto digitando voglio che la cifra venga formattata in questo modo : 1.23.45.67.890
ovvero, un punto dopo la prima cifra, un punto dopo la seconda e la terza, un punto dopo la quarta e la quinta e un punto dopo la sesta e la settima per un totale di 10 cifre e 4 punti.

Con il tasto "invia" caricherò poi il valore formattato su una variabile da utilizzare altrove

Avevo pensato di aggirare il problema inserendo un input box per ogni gruppo di cifre per poi unirle aggiungendo il "." tra loro ma non credo sia l'idea migliore...

Grazie in anticipo per l'aiuto che potrete darmi
__________________
Case: Montech AIR 903 BASE | PSU: FSP Hydro Ti PRO 1000W 80+ Titanium | Mothereboard: ASRock B650E Taichi Lite | CPU: AMD Ryzen 7 7800X3D + Thermalright Peerless Assassin 120 | RAM: Kingston FURY Beast 64 GB DDR5-6000 CL30 | GPU: Gigabyte AERO OC GeForce RTX 4090 | SSD: Crucial T705 1TB | SSD: Crucial T500 2TB | Monitor: Dell UP3017 | Keyboard: CM Masterkeys PRO L | Mouse: Mionix Naos QG | Headset: SteelSeries Siberia V2

Ultima modifica di Gianluca99 : 07-12-2012 alle 14:24.
Gianluca99 è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2012, 11:57   #2
cicciopasticcio1
Junior Member
 
Iscritto dal: Oct 2012
Messaggi: 22
All'evento onchange associ una funzione che attraverso una regex (ad esempio) legge solo le cifre e non i punti,

inputBox.value.match(/\d/g).join('')

estrai prima cifra, seconde due cifre etc e le unisci coi punti gestendo eventuali errori (testo più corto del previsto) eccetera eccetera.

Il testo verrà formattato durante l'inserimento. E' più facile a farsi che a dirsi! Dovresti fare solo dei calcoletti matematici per la lunghezza delle stringhe in modo da non generare errori, o gestire gli errori con blocchi try catch, o trovare un metodo che ti formatti la stringa automaticamente.
cicciopasticcio1 è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2012, 10:41   #3
Gianluca99
Senior Member
 
L'Avatar di Gianluca99
 
Iscritto dal: Oct 2005
Città: MC
Messaggi: 1382
quindi teoricamente:
- controllo che i caratteri inseriti siano solo cifre
- estraggo i gruppi di cifre (prima, seconda e terza, quarta e quinta,...)
- unisco i gruppi di cifre con il "." formattando il testo

solo non saprei come estrarre le cifre che mi interessano

pensavo di creare una funzione che all'evento onchange legga il numero di caratteri inseriti e che inserisca il punto dopo la prima cifra, dopo la terza e così via
esempio:

funzione aggiungipunto() {

if inputbox.length=1
aggiungi "."

if inputbox.length=4 //compreso il . inserito in precedenza
aggiungi "."

...
+controlli vari
+gestione errori }


potrebbe andare ugualmente? solo non saprei come aggiungere alla stringa esistente il valore "."
__________________
Case: Montech AIR 903 BASE | PSU: FSP Hydro Ti PRO 1000W 80+ Titanium | Mothereboard: ASRock B650E Taichi Lite | CPU: AMD Ryzen 7 7800X3D + Thermalright Peerless Assassin 120 | RAM: Kingston FURY Beast 64 GB DDR5-6000 CL30 | GPU: Gigabyte AERO OC GeForce RTX 4090 | SSD: Crucial T705 1TB | SSD: Crucial T500 2TB | Monitor: Dell UP3017 | Keyboard: CM Masterkeys PRO L | Mouse: Mionix Naos QG | Headset: SteelSeries Siberia V2
Gianluca99 è offline   Rispondi citando il messaggio o parte di esso
Old 10-12-2012, 11:35   #4
cicciopasticcio1
Junior Member
 
Iscritto dal: Oct 2012
Messaggi: 22
Quote:
Originariamente inviato da Gianluca99 Guarda i messaggi
quindi teoricamente:
- controllo che i caratteri inseriti siano solo cifre
- estraggo i gruppi di cifre (prima, seconda e terza, quarta e quinta,...)
- unisco i gruppi di cifre con il "." formattando il testo

solo non saprei come estrarre le cifre che mi interessano

pensavo di creare una funzione che all'evento onchange legga il numero di caratteri inseriti e che inserisca il punto dopo la prima cifra, dopo la terza e così via
esempio:

funzione aggiungipunto() {

if inputbox.length=1
aggiungi "."

if inputbox.length=4 //compreso il . inserito in precedenza
aggiungi "."

...
+controlli vari
+gestione errori }


potrebbe andare ugualmente? solo non saprei come aggiungere alla stringa esistente il valore "."
Se non lo sai cerchi, in javascript ci sono le funzioni substring e substr che ti interessano per estrarre tot caratteri alla posizione x. E' molto semplice.

Questa soluzione è ottima perchè:
- include anche un filtro (non devi controllare che i caratteri inseriti siano solo cifre, li elimina automaticamente)
- si effettua un ricalcolo completo, che non crea problemi in caso di cancellazione del testo. anche se non è uno dei sistemi più intuitivi.

Se vuoi una cosa tipo campo IP della configurazione ip di windows, c'è da scriverci sopra un poco oppure affidarsi a librerie http://digitalbush.com/projects/masked-input-plugin/

Se vuoi una cosa con poca fatica ed orginata, usa quel plugin per jquery.
cicciopasticcio1 è offline   Rispondi citando il messaggio o parte di esso
Old 10-12-2012, 11:51   #5
Gianluca99
Senior Member
 
L'Avatar di Gianluca99
 
Iscritto dal: Oct 2005
Città: MC
Messaggi: 1382
Quote:
Originariamente inviato da cicciopasticcio1 Guarda i messaggi
Se non lo sai cerchi, in javascript ci sono le funzioni substring e substr che ti interessano per estrarre tot caratteri alla posizione x. E' molto semplice.

Questa soluzione è ottima perchè:
- include anche un filtro (non devi controllare che i caratteri inseriti siano solo cifre, li elimina automaticamente)
- si effettua un ricalcolo completo, che non crea problemi in caso di cancellazione del testo. anche se non è uno dei sistemi più intuitivi.

Se vuoi una cosa tipo campo IP della configurazione ip di windows, c'è da scriverci sopra un poco oppure affidarsi a librerie http://digitalbush.com/projects/masked-input-plugin/

Se vuoi una cosa con poca fatica ed orginata, usa quel plugin per jquery.
grazie mille sono riuscito a risolvere
__________________
Case: Montech AIR 903 BASE | PSU: FSP Hydro Ti PRO 1000W 80+ Titanium | Mothereboard: ASRock B650E Taichi Lite | CPU: AMD Ryzen 7 7800X3D + Thermalright Peerless Assassin 120 | RAM: Kingston FURY Beast 64 GB DDR5-6000 CL30 | GPU: Gigabyte AERO OC GeForce RTX 4090 | SSD: Crucial T705 1TB | SSD: Crucial T500 2TB | Monitor: Dell UP3017 | Keyboard: CM Masterkeys PRO L | Mouse: Mionix Naos QG | Headset: SteelSeries Siberia V2
Gianluca99 è offline   Rispondi citando il messaggio o parte di esso
Old 10-12-2012, 12:52   #6
cicciopasticcio1
Junior Member
 
Iscritto dal: Oct 2012
Messaggi: 22
Quote:
Originariamente inviato da Gianluca99 Guarda i messaggi
grazie mille sono riuscito a risolvere
Se puoi posta il codice che hai usato, sia per te (così se c'è qualcosa che non va possiamo aiutarti) sia per quelli che cercheranno questo topic in futuro
cicciopasticcio1 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Le app di dating potrebbero aver stufato...
Il successo di iPhone Duo rappresentereb...
Cartello sull'IA? L'accusa durissima con...
L'IA sempre più protagonista nei videogi...
Revolut ha consegnato passaporti e selfi...
Office 2021, 3 anni di aggiornamenti di ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Diablo V annunciato a sorpresa: il colpo...
Meno di 5 euro per il 5G: l'offerta Kena...
World of Warcraft: Forever è il Classic+...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:05.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v