我需要接受字母數字字符和這些特殊字符/.~?=+ &正則表達式接受字母數字和/.~?=+&
我在PHP這樣做,因此一個驗證表達式要麼給出我錯誤或根本不工作
我試過這個東西。但它甚至不接受字母數字:
preg_match('/^[\w ]+([\.\~\?\=\+\&][\w ]*)?$/',$var)
我需要接受字母數字字符和這些特殊字符/.~?=+ &正則表達式接受字母數字和/.~?=+&
我在PHP這樣做,因此一個驗證表達式要麼給出我錯誤或根本不工作
我試過這個東西。但它甚至不接受字母數字:
preg_match('/^[\w ]+([\.\~\?\=\+\&][\w ]*)?$/',$var)
您不必在[]
範圍內轉義字符。唯一必須轉義的是\
,/
,[
和[
。爲了匹配字母數字和你的特殊字符集嘗試以下操作:
(\w|[\/.~?=+&])*
和斜槓...'\ /' –
哦,我錯過了那一個。謝謝@scrowler! – MarcinJuraszek
可以代表字母,並使用下面的表達式上面的字符:
[[:alnum:]\/.~?=+&]
然後,您可以使用此PHP代碼以迭代在所有比賽中的字符串...
preg_match_all('%[[:alnum:]/.~?=+&]*%i', $var, $result, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($result[0]); $i++) {
# Matched text = $result[0][$i];
}
您可以使用以下方法:
preg_match('/^[a-z0-9\/?&+~=.]*$/i', $var, $match);
你在對什麼進行測試?你如何進行這項測試?你會得到什麼錯誤?什麼「根本不工作」是什麼意思? – Quentin
我正在將數據輸入到表單中,然後嘗試使用正則表達式對其進行驗證。關於分隔符和東西的不同錯誤,但主要是因爲我不太瞭解正則表達式。 「根本不工作」意味着它要麼通過它,但如果它不正確,或者即使它不是真的 – Yochert
像這樣? http://regex101.com/r/yA5oW8 –