RegularExpression簡述
在UI輸入資料時,到要存入儲存體前,很重要的一個問題,就是若沒做好檢核,最後變成垃圾進垃圾出,髒的資料在往後更難處理
而輸入資料可在CLIENT使用JS去檢核,包含長度、型態、格式等,這樣髒的資料會在前端就被擋下,當然後端還是要再加一到門,做雙重的控管,而在檢合格式方面,如電話、郵件、數字、等,常用的就是RegularExpression,以下舉幾個例子,當然更多的網路上更充沛...
email:
^((?>[a-zA-Z\d!#$%&'*+\-/=?^_{|}~]+\\x20\*|"((?=[\\x01-\\x7f])[^"\\\\]|\\\\[\\x01-\\x7f])\*"\\x20\*)\*(?<angle><))?((?!\\.)(?>\\.?[a-zA-Z\\d!#$%&'\*+\\-/=?^\_
{|}~]+)+|"((?=[\x01-\x7f])[^"\\]|\\[\x01-\x7f])*")@(((?!-)[a-zA-Z\d\-]+(?<!-)\.)+[a-zA-Z]{2,}|\[(((?(?<!\[)\.)(25[0-5]|2[0-4]\d|[01]?\d?\d)){4}|[a-zA-Z\d\-]*[a-zA-Z\d]:((?=[\x01-\x7f])[^\\\[\]]|\\[\x01-\x7f])+)\])(?(angle)>)$
url:
^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(/\S*)?$
英數字串
^[a-zA-Z0-9]+$
如此可在輸入時就做格式的檢核,減少髒的資料往後端跑..