Php 如何在比较字符串之前清除任何非字母数字字符?
我使用此功能检查用户ID以避免重复,代码如下:Php 如何在比较字符串之前清除任何非字母数字字符?,php,mysql,regex,duplicates,Php,Mysql,Regex,Duplicates,我使用此功能检查用户ID以避免重复,代码如下: <?php require_once('includes/config.php'); if(isset($_GET['Uid'])){ $Uid = $_GET['UID']; $Uid = preg_replace('/^.*?(AP[0-9]{1,}).*?$/i', '$1', $Uid ); $query = "SELECT user_id FROM user where
<?php
require_once('includes/config.php');
if(isset($_GET['Uid'])){
$Uid = $_GET['UID'];
$Uid = preg_replace('/^.*?(AP[0-9]{1,}).*?$/i', '$1', $Uid );
$query = "SELECT user_id FROM user where user_id='$Uid'";
$users = mysqli_query($link, $query);
$result = mysqli_num_rows($users);
if($result > 0)
{
echo "Username is already taken, or invalid username!";
}
else {
echo '';
}
}
?>
我想要的是,接受前两个字母作为AP,剩下的8个像这样的数字
AP14000001
然后检查用户ID是否存在重复,如果用户ID重复,则会发出警告或将其作为新ID接受
提前感谢正则表达式将在以下位置进行(测试)——
你能详细说明一下吗?这里有什么问题!?亲爱的@revo我建立了一个学术门户,只有一个管理员控制整个门户。在用户注册部分中,管理员使用其学术ID注册每位教师,该ID以AP14000001、AP14000002、AP14000003等开头。。。。我想要的是,当管理员用他的ID注册新用户时,系统会检查这个ID是否有效,如上面所写的10位数字,并检查它是否重复?Jay Blanchard解决方案就是您想要的?这到底是什么意思/^AP[0-9]{1,8}$/@revoMeans输入必须以
AP
开头,然后是输入末尾最多8个数字。您忘记了m
flag我不知道如果它是用户id@revo,为什么需要多行
/^AP[0-9]{1,8}$/