我做了這個腳本,要求用戶輸入一個facebook網址。該部分工作正常,但用戶仍然可以在url變量中添加特殊字符,並且我試圖阻止這一點。正則表達式來檢查facebook網址,並且只能是字母數字。
我希望正則表達式只允許字母數字字符,破折號和下劃線。而不是允許空格。
我試着將[a-zA-Z0-9_]添加到我的正則表達式中,但它不起作用。
<?php
$facebook_url = "http://www.facebook.com/user";
if(!preg_match('^facebook\.com\S*[a-zA-Z0-9_]*^', $facebook_url)){
//if(!preg_match('^http://(?:.*\.)?facebook\.com\S*[a-zA-Z0-9_]*^', $facebook_url)){
echo "ummm, this is not a facebook url";
} else {
echo "this is a facebook url";
}
?>
<br />
<a href="<?php echo $facebook_url?>" target="_blank">My Facebook</a>
'\ S *'匹配任何不是空白字符的字符。刪除它,看看它是否有效。您可能需要調整'[a-zA-Z0-9_]',例如添加''''''或'/','-'(末尾)等。 –