1
A
回答
2
你想要做的第一件事就是用trim():
裝飾 - 帶空格(或其它字符)從字符串的開頭和結尾
確實你想接受使用者名稱,例如'Adam Sinclair '
,並在開頭或結尾處留出空格。該功能將刪除它們。
然後通過使用preg_match():
$pattern = '/().*()/';
$username = 'Wrong Username containing more than one space';
if ($ret = preg_match($pattern, $username))
echo 'Wrong username\n';
else if ($ret !== false)
echo 'Good username\n';
$username = 'Adam Sinclair';
if (preg_match($pattern, $username))
echo 'Wrong username\n';
else if ($ret !== false)
echo 'Good username\n';
從PHP documentation:
的preg_match()如果該圖案給定受試者,0,如果沒有,或FALSE如果錯誤匹配,則返回1發生。
然而另一種選擇是使用substr_count():
if (substr_count($username, ' ') > 1)
echo 'Wrong username\n';
else if ($ret !== false)
echo 'Good username\n';
從PHP documentation:
substr_count - 數子的出現次數
+0
感謝兄弟它的魅力 – 2014-09-24 12:59:20
1
我想你不需要preg_match。這可以用substr_count這樣來完成:
if(substr_count($username, ' ') > 1)
echo 'Wrong username';
相關問題
- 1. 多次使用preg_match?
- 2. 如何防止用戶每次多次打開同一頁面
- 3. 如何防止java.lang.OutOfMemoryError:PermGen空間?
- 4. 如何防止用戶一次打開多個表單?
- 5. 解析數組[如何防止用戶投票多次]
- 6. 如何防止用戶在1小時內多次投票?
- 7. Apache防止在用戶空間內使用VirtualHost? Mac OS X
- 8. 使用按鈕防止多次提交
- 9. 如何防止通過MooTools
- 10. 即使使用unbinders,我如何防止jQuery觸發多次?
- 11. 如何防止用戶通過表單欺騙數據?
- 12. 如何防止HG Workbench通過使用子庫來請求用戶名?
- 13. 通過評論,多行(自由空間)正則表達式preg_match
- 14. 如何防止用戶在多行塊中一次創建多條記錄?
- 15. 防止用戶輸入一次註銷
- 16. 防止用戶執行兩次動作
- 17. 防止用戶註冊兩次
- 18. 防止用戶
- 19. 如何防止Javascript被多次觸發
- 20. 如何防止jquery追加多次
- 21. 如何防止多次繪製模態?
- 22. 如何防止窗體多次打開
- 23. 如何防止javascript被多次加載
- 24. 如何防止mod_rewrite多次重寫URL?
- 25. 防止用戶啓動多個帳戶?
- 26. 如何防止GtkAspectFrame浪費空間?
- 27. 如何防止「)」添加空間?
- 28. 如何防止命名空間污染?
- 29. 如何防止Tk增加空間?
難道不是一個空間?或者不止一個重要空間? (即「用戶名」與「用戶名」)其中「Foo Bar」可以接受,但「Foo Bar Foo」不會 - 並且「Foo Bar」和「Foo Bar」被認爲是相同的,並且「Foo Bar Foo 「仍然會被拒絕。 – 2014-09-24 00:57:01