[英]Using PHP regex to validate username
我正在嘗試使用正則表達式驗證 PHP 中的用戶名,但我提交的所有內容均未通過檢查。 我仍然是超級新手。
if (,preg_match('/^[A-Za-z]{1}[A-Za-z0-9]{5-31}$/', $joinUser) )
規則:
我一直在使用這個在線測試儀和這個測試儀。 我閱讀了這個線程和這個線程,但無法理解太多,因為它們似乎比我的要復雜一點(前瞻?和各種特殊字符)。
閱讀我鏈接到的第一個線程后,我似乎是不太了解說“字母”如何影響人們認為可以接受的東西的人之一,即外國字符、重音字符等。我真的只看英文字母表(這是 ASCII 碼嗎?)和數字 0-9。
謝謝。
唯一的問題是,你拼錯了最后一個量詞。
{5-31}
必須是{5,31}
所以你的正則表達式會是
if ( !preg_match('/^[A-Za-z][A-Za-z0-9]{5,31}$/', $joinUser) )
你可以跳過{1}
,但它不會受到傷害。
顯然你需要改變的是5-31的5,31。
工作范例:
if (preg_match('/^[A-Za-z]{1}[A-Za-z0-9]{5,31}$/', "moo123"))
{
echo 'succeeded';
}
else
{
echo 'failed';
}
嘗試這個:
if ( !preg_match('/^[A-Za-z][A-Za-z0-9]{5,31}$/', $joinUser) )
另一個答案:
if (strlen($username) >= 5 && strlen($username) <= 31 &&
ctype_alnum($username)){
echo "valid username";
}else{
echo "invalid username";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.