Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    regular expression lettere accentate

    Ciao a tutti sto cercando di fare una regulare expression... ma non so come mettere tra i caratteri consentiti le lettere accentate tipo "ò à è é ì"

    var RegExp = /^[a-zA-Z}{1}[a-zA-Z\47\40\225]{2,29}$/;

    pensavo di fare tramite codice esadecimale o ottale ma mi pare che per i caratteri della ascii estesa non vada... ma forse sbaglio qualcosa.

    \47 = '
    \40 = spazio
    \225 = à (mi pare)

    ma non va...

    grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Per i codici esadecimali devi usare
    \xHH
    per i codici ottali:
    \oOOO

    Comunque se il charset permette le lettere accentate, le puoi inserire direttamente dentro la RegExp; per qualcuna devi premettere la backslash (\\), ma per molte non serve neppure.

    L'apice lo puoi inserire con la backslash
    Lo spazio lo puoi inserire semplicemente.

    In qualche caso la backslash va duplicata, triplicata o quadruplicata, a seconda di quante volte la stringa viene presa in mano prima di arrivare al browser: ad ogni manipolazione viene persa la meta` delle backslash (piu` una, se il carattere escaped lo richiede).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Originariamente inviato da Mich_
    Per i codici esadecimali devi usare
    \xHH
    per i codici ottali:
    \oOOO
    io pensavo di usare appunto sempre esadecimale o ottale.. per tutti quei caratteri particolari, in modo da essere + coerente e non fare un po con lo \ un po con esadecimale ecc..

    cmq...

    ho fatto riferimento a questa tabella
    http://csce.unl.edu/~berberov/reference/asciiext.php

    ho scritto questa
    var RegExpCognome = /^[a-zA-Z}{1}[a-zA-Z\x82]{2,29}$/;

    e mi da errore se scrivo "aldé"

    come mai?

    ps per gli esadecimali in altre regular non ho usato la x davanti.. e andava comunque... non so.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Nella RegExp c'e` una chiusagraffa al posto di chiusaquadra. Spero che non ci sia nel tuo codice, perche` con un errore di sintassi non si puo` sapere come si comporti il browser.

    Il problema con i codici estesi e` che sistemi diversi usano tabelle diverse: per questo ti suggerivo di inserire direttamente i caratteri accentati nella RegExp.
    E assolutamente devi controllare i caratteri che usi/permetti siano corretti nel charset definito. Normalmente vengono usati due charset a 8 bit: utf-8 e quello di windows (non ricordo la sigla): i due sono chiaramente diversi (e quando mai zioBill ha copiato uno standard? ne ha sempre inventati di originali).
    Poi c'e` utf-16 che comprende anche caratteri greci, arabi e sim., ma questo mi pare che esca dai tuoi interessi.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.