douqujin2767 2015-07-06 12:46
浏览 31
已采纳

Preg_match不起作用

I have this PHP preg_match code that's suppose to only allow a-z (Capital and lowercase) 0-9 and underscores

But when I try signing up with the username "Rizon" it says: Only valid characters are allowed.

Here's the code:

if (!preg_match("[a-zA-Z0-9]_",$_POST['username'])) {
$_SESSION['error']['username'] = "Only valid characters are allowed."; 
}

How can I fix the preg_match so it will allow usernames such as "Rizon" and usernames with uppercase and/or lowercase letters and/or numbers and/or underscores?

  • 写回答

5条回答 默认 最新

  • dsuoedtom207012191 2015-07-06 12:55
    关注

    This should do the trick (you need to also check that username only contains your pattern)

     if (!preg_match("/^[a-zA-Z0-9_]+$/",$_POST['username']))
    

    Without adding ^ (start match) and $ (end match) your regular expression will only validate if a pattern is included.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大