如何删除所有内容,但允许使用字母,数字和下划线?

时间:2017-03-11 04:49:42

标签: php codeigniter

如何删除所有内容,但仅在我对用户名的验证中允许使用字母,数字和下划线?我尝试了这段代码,但它允许空格:

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

3 个答案:

答案 0 :(得分:1)

使用以下正则表达式

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

答案 1 :(得分:1)

您可以使用每个字母,数字和下划线的ASCII代码。

点击此链接获取ASCII码http://ascii.cl/

jQuery就是这样。

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

答案 2 :(得分:0)

如此简单只允许AlphanumericUnderscore

<?php

    $str='fdfdf5_';

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

    ?>