回答
在asp.net,RegularExpressionValidator控制可以同時執行客戶端和服務器端驗證。
否則,將使用JavaScript RegExp對象執行客戶端驗證,而.NET Regular Expression Object Model將執行工作服務器端。
通常,如果客戶端腳本被禁用,客戶端驗證將不會運行。 在這種情況下,需要進行服務器端驗證。 Unobtrusive JavaScript應根據客戶端腳本功能授予功能的優雅降級。
這些差異主要基於所使用的正則表達式引擎的差異。 Javascript有它自己的正則表達式引擎,與.net的正則表達式引擎相比,它的工作方式有所不同。
兩者都基於Perl正則表達式引擎,但肯定存在一些差異。
更多信息可以在這裏找到。
感謝fr da鏈接! – aromore 2012-07-11 17:14:11
不,他們不是「基於Perl的正則表達式引擎。」雖然在大多數現代的正則表達式引擎中都有着重要的共同點,但將歸因點歸於Perl是非常不準確的。一個簡單的「正則表達式起源」谷歌將提供更準確的歷史意義。 – JamieSee 2012-07-11 17:25:48
這是一個公平點。我並不是真的想這麼說,它直接基於Perl引擎,而是與它有許多相似之處。我真的想說,javascript和.net的引擎之間存在差異,因爲其中大多數都是。正如你所說,這個主題的快速谷歌將提供更詳細的信息。 – stevethethread 2012-07-11 17:29:41
服務器端和客戶端驗證的主要區別在於驗證器攔截處理。請參閱ASP.NET Page Life Cycle Overview以瞭解在服務器上進行驗證的位置。爲了更好地理解驗證是如何工作的客戶端上看到Client-Side Validation for ASP.NET Server Controls和How to: Validate with a Custom Function for ASP.NET Server Controls。
對於RegularExpressionValidator,它包括運行在客戶端上的Javascript和運行在服務器上的.NET代碼。如果Javascript被禁用,客戶端驗證根本不運行。根據瀏覽器的不同,如果某些功能不受支持,ASP.NET將嘗試正常降級客戶端功能。服務器端驗證總是會發生。
- 1. 正則表達式差異
- 2. 正則表達式驗證
- 3. 正則表達式驗證
- 4. 正則表達式驗證
- 5. 正則表達式驗證
- 6. C#正則表達式驗證驗證
- 7. 正則表達式驗證的正則表達式
- 8. ASP.Net正則表達式(%符號)正則表達式驗證器
- 9. Go的差異正則表達式
- 10. PHP的正則表達式差異
- 11. JavaScript的正則表達式的差異
- 12. js正則表達式的差異
- 13. [af]?lex正則表達式差異
- 14. 正則表達式驗證XML模式
- 15. 正則表達式驗證格式(ABC_123)
- 16. 正則表達式 - 表單驗證
- 17. PlayFramework:表正則表達式驗證
- 18. javascript正則表達式和swift正則表達式之間的差異
- 19. 標準正則表達式與python正則表達式的差異
- 20. 正則表達式來驗證以JavaScript
- 21. yii正則表達式驗證
- 22. gSOAP的正則表達式驗證
- 23. PHP - 正則表達式驗證日期
- 24. 驗證的正則表達式的
- 25. 域驗證的正則表達式
- 26. 正則表達式驗證日期 - C#
- 27. JavaScript驗證/正則表達式
- 28. 正則表達式日期驗證
- 29. 驗證URL使用正則表達式
- 30. 密碼驗證的正則表達式
M}這裏的業餘...我力知道。 謝謝! – aromore 2012-07-11 17:21:58