1、使用者資料應輸入為半形
str="中文;;a"
alert(str.match(/[\u0000-\u00ff]/g)) //半形
alert(str.match(/[\u4e00-\u9fa5]/g)) //中文
alert(str.match(/[\uff00-\uffff]/g)) //全形
2、電話限制,例如02-22222222,要輸入正確才可以存
正則
基本款
我隨便寫的
^[0-9]{2}-[0-9]{7}$
然後不管前端寫啥
data 到後端還要再檢查一次
永遠不要相信來自前端的東西
補充一下 台灣室話區碼可能2-3碼 號碼可能會到 8 碼
要準確的話就
^[0-9]{2,3}-[0-9]{7,8}$
阿 對吼
感謝 listennn08大
謝謝您
請問像您所輸入的資料^[0-9]{2}-[0-9]{7}$
這些有個專有名詞嗎??我想瞭解一下,再下去寫!!@@
另外是,您剛剛有講,永遠不要相信前端輸入的資料,那後端我要做哪些預防呢?可否提供一些建議…
這些有個專有名詞嗎??我想瞭解一下,再下去寫!!@@
就是正則表達式 或 RegExp
另外是,您剛剛有講,永遠不要相信前端輸入的資料,那後端我要做哪些預防呢?可否提供一些建議…
最基本的
就是在後端再做一次
你在前端所做的那些檢查
因為你沒辦法知道到後端的那些data
一定有經過你前端的驗證
有可能是直接 call 你的 api 的
在進階一點
可以去研究 sql injection
有些罕見字其實超過 unicode 0xFFFF 的
正解,基本並不會特別去判斷是不是全形的。
畢竟全形全部要判斷並不太好判斷。但判斷「英數」反而比較單純。