Sono nel mezzo della creazione di un'applicazione web per un cliente, e lui vuole che io integri i tergicristalli magnetici, in modo che il personale dell'ufficio possa scorrere rapidamente una carta e caricare i dettagli per specifici pazienti (a ciascun paziente viene assegnato un numero univoco corrispondente a una carta unica).
Nel mio software, gestire la stringa in ingresso è abbastanza semplice, poiché lo swiper della scheda simula i tasti per ogni carattere nell'ID sulla carta.
Tuttavia, ho incontrato alcune stranezze. Utilizziamo due diversi tipi di tergicristalli e ho scoperto che uno swiper di una carta genera una stringa che inizia con " +
", mentre l'altro swiper genera una stringa che inizia con " ;
". I numeri effettivi sulla carta (il numero identificativo che viene dopo " +
" o " ;
") sono gli stessi per ogni tipo di swiper.
Naturalmente posso aggiungere al mio codice e rilevare sia per " +
" sia per " ;
". Tuttavia, sono preoccupato che se introduciamo ancora un'altra marca o modello di swiper delle carte, potrebbe generare qualcosa di completamente diverso. Oppure, se decidono di utilizzare una marca diversa di carte, potrei ottenere qualcosa di diverso ancora.
Non voglio dover continuare ad applicare patch al mio codice per gestire tutte queste differenze, se possibile. Esiste una sorta di documentazione che definisce gli standard per tutti i tergicristalli e le carte magnetiche? Sto cercando qualcosa che possa dirmi qualcosa del tipo:
- Tutte le carte iniziano con uno di questi:
['$', '+', ';']
- Seguito da una stringa di lunghezza variabile di caratteri alfanumerici
- Finire con uno di questi:
['?', '*', '^']
Ecco alcune considerazioni aggiuntive:
- Si tratta di semplici carte magnetiche, che contengono semplicemente una stringa di caratteri (utilizzate come identificatori per la ricerca rapida). Non stiamo scorrendo le carte di credito o qualcosa del genere.
- Questa è un'applicazione web distribuita, che verrà utilizzata in tutti gli Stati Uniti. E non ho il controllo su quale marca di scheda o swiper utilizza ogni ufficio.
- A causa dei requisiti aziendali, sto utilizzando il riconoscimento di pattern basato sull'evento
keypress
. Non sto guardando la stringa generata all'interno di una casella di testo.