Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Miko_d
    Registrato dal
    May 2005
    Messaggi
    61

    [VB.NET] Regex.IsMatch

    Salve,
    ho un problema con un confronto tra una string e una espressione regolare,
    che utilizzo per controllare che tale stringa contenga solo da numeri.
    Questo è il codice:
    codice:
        Dim strId As String = Request.QueryString("id")
        If Regex.IsMatch(strId, "[0-9]*") = True Then
            .............
        Else
            Me.TextBoxMessage.Text = "Formato stringa non corretto"
        End If
    In pratica il problema è che il confronto ritorna TRUE sia che la stringa
    contenga solo numeri (e fino a quì ci siamo) e sia che contenga lettere,
    numeri o entrambi.
    Io vorrei che ritornasse TRUE solo se la stringa contiene esclusivamente
    numeri, qualcuno mi potrebbe dare una mano?

    Saluti.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,461
    Temo che l'errore si annidi nell'espressione che hai utilizzato: l'espressione è un "pattern" che indica qualsiasi ripetizione di caratteri numerici, quindi se la applichi ad un valore che contiene sia caratteri numerici che lettere, il valore restituito è True poiché l'espressione - cioè uno o più caratteri numerici - viene individuata comunque nella stringa.

    La condizione che hai inserito nell'espressione dev'essere più restrittiva: devi accettare solamente valori che inizino e finiscano con ripetizioni di numeri, quindi probabilmente dovresti correggere l'espressione in questo modo

    codice:
    \b[0-9]*\b
    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.