2014-09-20 61 views
-3

我的問題很簡單,也許在這個論壇上也有,但是我沒有找到答案。 我有鏈接相同:/個人資料/ 1 如何檢查是否正確的最後(int)參數。它必須是正整數什麼是URL的正確驗證?

+2

你好,愛麗絲。值得注意的是,這個網站與網絡上的其他網站有點不同。最大的區別是我們試圖鼓勵求助者展示他們在他們的問題中所嘗試的內容 - 如果您能夠展示真正有用的代碼,並且也是一種良好的實踐!在提取數字部分(1)或確定它是否爲int時,您有困難嗎? – halfer 2014-09-20 11:05:16

回答

1

只需在正則表達式中使用\d+即可。這隻會檢查正整數。爲了檢查否定,你需要添加 - 在它的前面,所以沒有問題。

要檢查整個URL,這樣做:

https?:\/\/.+\/profile/\d+ 
+0

@愛麗絲做了這個幫助嗎? – 2014-09-20 20:06:57

0
is_int($valueFromURL) 

將返回true或false。

編輯 要檢查它是否是肯定的,只需使用if語句。

示例代碼:

if(is_int($valueFromURL) == true) && ($valueFromURL > 0) { 
    //Rock n' roll 
} 
+1

'== true'是相當多餘的。 – Biffen 2014-09-20 11:02:55

1

如果你害怕,人們會注入SQL或類似的東西,你應該看看準備的語句或對象 - 關係映射。

要從url獲取參數,應該使用路由模塊或包含一個的框架。 http://symfony.com/en/doc/current/book/routing.html

如果你只是想檢查,如果一個變量是一個正整數,你可以那樣做:

if (is_int($value) && ($value > 0)) 
+0

只是一會兒。如果我URL一個數字,但類型是字符串,如何? – Alice 2014-09-20 11:03:08

相關問題