2010-03-22 30 views
2

好吧我檢查字符串是否至少4個字符長,25點或更少的字符短PHP strlen的問題

我試圖使用strlen這樣

$userNameSignupLength = strlen($userNameSignup); 

else if($userNameSignupLength<4 && $userNameSignupLength>25) { 

      $userNameSignupError = "Must be between 4 to 25 characters long"; 

     } 

,但它不工作。 .. 我做錯了什麼?

+0

與@Kevin相同。而你想要的是''= 25''''''''''''''''''''''''''''''''''''''''''''''你想要的是''= 25'''' – p4bl0 2010-03-22 14:28:39

+0

你可能想看看http://www.php.net/manual/en/function.mb-strlen.php,strlen錯誤地計算了像UTF-8這樣的多字節字符。 – dbemerlin 2010-03-22 14:29:34

+0

@ p4blo,不 - 25是可以的,所以他想檢查'> 25'是否太長。 – nickf 2010-03-22 14:29:40

回答

8

使用strlen檢查字符串的長度(以字節爲單位)是正確的。但是一個數字不能同時小於大於25的4 。使用||代替:

if ($userNameSignupLength < 4 || $userNameSignupLength > 25) 

現在,如果數量或者是小於4 大於25

+0

非常感謝你哈哈我一直都在搞亂我的情緒和情緒><有一天我會得到它哈哈^^^ – MrEnder 2010-03-22 14:30:42

2

更改& &到||條件滿足

else if ($userNameSignupLength<4 || $userNameSignupLength>25) 
2

我想你想的或者存在:

else if($userNameSignupLength < 4 || $userNameSignupLength > 25) { 

像濃湯說,長度不可能超過4均不及大於25 &&意味着and

2

並擺脫'if'關鍵字前面的'else'!

-1

有了您的代碼,顯然您正在嘗試驗證文本字段。您尚未分享此代碼的HTML。無論如何,從我的專業知識,我會說你不應該使用& &。你應該使用||。你也不應該直接使用其他的if。你應該使用如果這個代碼。