2017-03-11 5 views
1

Wie alles entfernen, aber Buchstaben, Zahlen und Unterstriche nur in meiner Validierung für den Benutzernamen zulassen? Ich habe versucht, diesen Code aber es erlaubt Raum:Wie alles entfernen, aber Buchstaben, Zahlen und Unterstriche zulassen?

function customUsername($username) 
{ 
    if (!preg_match('/^[a-z.,\-]+$/i',$username)) 
    { 
     $this->form_validation->set_message('customUsername', 'The username field'); 
    } 
} 
+1

Mögliche Duplikat [codeigniter alpha \ _numeric Formularvalidierung nicht akzeptieren Leerzeichen] (http://stackoverflow.com/questions/18561943/codeigniter -alpha-numeric-form-validation-non-accepting-space) –

+0

Überprüfen Sie diese Antwort: http://stackoverflow.com/questions/9164548/codeignit-form-validation-alpha-and-spaces –

+0

Versuchen Sie meine Antwort hoffe es wird arbeite für dich – JYoThI

Antwort

1

Verwenden Sie die folgende regex

function customUsername($username) 
{ 
    if (!preg_match('/^[a-zA-Z0-9_]+$/i',$username)) 
    { 
     $this->form_validation->set_message('customUsername', 'The username field'); 
    } 
} 
+0

Funktioniert nicht. Es erlaubt auch Räume. –

+0

Die Anweisung in der IF-Anweisung wird ausgeführt, wenn Leerzeichen im $ username vorhanden sind. Was ist dein Anwendungsfall? – imprezzeb

1

Sie können ASCII-Code eines jeden Buchstaben, Zahlen und Unterstrichen verwenden.

folgen Sie diesem Link für ASCII-Code http://ascii.cl/.

jQuery ist wie folgt.

$('#keyId').keydown(function(e){ 
    var key = e.charCode || e.keyCode || 0;    
    return (
     key == 8 || 
     (key >= 23 && key <= 105) 
    ); 
}); 
0

So einfach es erlauben nur Alphanumeric und Underscore nur

<?php 

    $str='fdfdf5_'; 

    if(preg_match('/^[a-zA-Z0-9_]+$/',$str)) 
    { 
     echo "success"; 
    } 
    else 
    { 
     echo "failed"; 
    } 

    ?> 
Verwandte Themen