我有一個用戶名文本框。它只能接受3到10個字符,它應該只接受(0,9)和(A,Z)值或者可能( - 和_), 不再更多
。限制用戶輸入由php
如果用戶輸入一個值,如$%^#它應該給出一個錯誤
我想用PHP來做到這一點,而不是Jquery。誰能幫我這個?
我知道我可以使用
<input name="1" type="text" value="1" maxlength="10" />
但它不給一個錯誤給用戶,只是過濾輸入值。
謝謝。
我有一個用戶名文本框。它只能接受3到10個字符,它應該只接受(0,9)和(A,Z)值或者可能( - 和_), 不再更多
。限制用戶輸入由php
如果用戶輸入一個值,如$%^#它應該給出一個錯誤
我想用PHP來做到這一點,而不是Jquery。誰能幫我這個?
我知道我可以使用
<input name="1" type="text" value="1" maxlength="10" />
但它不給一個錯誤給用戶,只是過濾輸入值。
謝謝。
正則表達式可以工作
if (preg_match("%^[A-Za-z0-9-_]{3,10}$%", $_POST["1"])) {
// OK
} else {
// ERROR
}
魔獸世界很容易然後
謝謝 –
正則表達式是你的朋友:),我只是更深入到自己的這一部分,它使生活變得更加容易。 – Kodemon
/^ [\ w - ] {3,10} $ /要更簡潔,請記住這些不會允許空格中的值,以允許空格以及使用/^[\ w - ] {3,10 } $/ –
將值提交給PHP腳本時,可以通過$_REQUEST
全局變量查看該值。在這種情況下,您可以參考$_REQUEST["1"]
。爲確保它包含的值具有一定的大小,請使用strlen()
函數。爲了確保該值只包含某些字符,你可以使用preg_match_all()
和適當的正則表達式如下所示:
[A-Za-z0-9]
或者用SnapGravy的gravylicious正則表達式做這一切。 – ScoPi
你試過到目前爲止什麼PHP的解決方案? – Oldskool
preg_match但我不知道這個代碼的規則 –