Προς το περιεχόμενο

Αλφατιθμητικές τιμες σε c#


GlobeXgr

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα θέλω να με βοηθήσετε σε κατι...πως θα φτιαξω ένα text box σε c# - asp που θα δέχεται μόνο αλφαριθμητικές τιμές???

Δημοσ.

Ευχαριστώ αλλά δε βρισκώ αυτή την ιδιότητα στο property bar , επιπλέον θελω αλφαριθμητικά οχι ημερομηνια. Παρέλειψα να πω ότι είναι για site οχι απλό project...δε ξερω αν παίζει ρόλο,,,

Δημοσ.

ok, ενας απλός τρόπος

πρόσθεσε ένα KeyPress event για το TextBox σου και τσέκαρε αν το key που πατήθηκε ειναι γραμμα ή νουμερο (ή ότι άλλο θες)

 

>
Using System;
using System.Windows.Forms;
using  System.Text;

namespace WindowsApplication1
{
 public  partial class Form1 : Form
 {
        public Form1()
        {
                     InitializeComponent();
           }

           // Textbox KeyPress event  block
           private void textBox1_KeyPress(object sender,  KeyPressEventArgs e)
           {
                     // Allows only Alpha-Numeric’s
                     if (!(Char.IsLetter(e.KeyChar) || Char.IsDigit(e.KeyChar) ||  Char.IsControl (e.KeyChar)))
                                           e.Handled = true;
            }
      }
}

Δημοσ.

Ευχαριστώ αλλά θα προτιμούσα κάποιον άλλο τροπο... με καποιο αλγοριθμο ισως...δε χρειάζετε να γραφετε κώδικα απλά να εξηγησετε τη λογικη του αλγοριθμου(οχι αερολογιες) και θα το φτιαξω..κατα προτίμηση να ειναι κάτι γρηγορο...

Δημοσ.

Επειδη παιζει να μη καταλαβα καλα, θες ενα τεξτμποξ που να μη δεχεται τι?

Αυτο που σου εγραψα δεχεται μονο γραμματα και αριθμους.....

Δημοσ.

Επειδη και γω παίζει να μη καταλαβα καλά ο κωδικας που μ εστειλες τρεχει καθε φορα που ο χρηστης πατάει ενα κουμπι απο το πληκτρολογιο??

Αν ναι δε θέλω αυτο..θέλω ουσιαστικά να ελέγχω περιεχόμενο του textbox με το πάτημα ενός κουμπιου(button).....

Για να σου δωσω καλύτερη εικόνα....φτιάχνω ένα site και θέλω να το προστατευσω σε κάποιο βαθμο απο SQL injection οπότε θα απαγορεύσω τα σύμβολα...

Δημοσ.

Έχεις φτιάξει μία web application με C#, σωστά; Αν θέλεις απλά να προστατευτείς από SQL Injection τότε αρκεί το να χρησιμοποιήσεις sql parameters σε κάθε sql query που έχει input από κάποια φόρμα.

Δημοσ.

Τεσπα, μια μεθοδος που περνει ενα string και ελεγχει αν ειναι αλφαριθμητικο ειναι η παρακατω:

>
bool IsAlphanumeric(string text)
       {
           foreach (var c in text)
           {
               if (!char.IsLetterOrDigit(c)) return false;
           }
           return true;
       }

 

Όταν πατάς το κουμπί σου, περνα της σαν ορισμα το Text value του TextBox σου

Δημοσ.
Για να σου δωσω καλύτερη εικόνα....φτιάχνω ένα site και θέλω να το προστατευσω σε κάποιο βαθμο απο SQL injection οπότε θα απαγορεύσω τα σύμβολα...

 

Αν θέλεις να προστατευτείς μόνο από το SQL Injection και όχι να κάνεις κάποια άλλη λειτουργία, ο πιο ασφαλής τρόπος είναι μέσω του sqlParameter όπως είπε και ο _tasos. Η χρήση του είναι πολύ απλή και παρέχει πλήρη προστασία από το Injection.

 

>SqlCommand.CommandText = "SELECT * FROM tblTable WHERE TableID = @Parameter";
SqlCommand.Parameters.Add("@Parameter", SqlDbType.VarChar).Value = textBox.text;

 

MSDN SqlParameter Class

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...