1樓:鸚鵡哥
因為PM要求必須嚴格驗證手機號碼的格式,而且要支援大部分國家的手機。單靠一兩個正則是搞不定了。所以我用這個谷歌的手機號碼檢驗庫google-libphonenumber。
目前來說沒遇到問題。
2樓:Yehowah
標準做法難道不是 (+)?\d.* 嗎?
能收到簡訊就是正確的,不能收到就是錯誤的,不驗證這個的話就會有人隨便輸入乙個。反過來說,反正這裡都要驗證一遍,就不用在別的地方驗證了啊
3樓:IT男
咱們大部分系統已經改成 ^1[3-9]\d$
因為實際可用號段經常在變,但是每個前端都去維護實在太麻煩,而且咱們子系統特別多,如果忘了改會給客戶特別不好的體驗。
但是10-12開頭的明顯是保留號段還是要做個檢驗,可以提示客戶不小心輸錯的情況,提高一點使用者體驗。
4樓:「已登出」
能收到驗證簡訊的就是好手機號,收不到的就不是好手機號,如果簡訊模組告訴我這個手機號不對,我就告訴你「運營商說你手機號輸錯了」。
把那些會讓簡訊模組黑化的輸入過濾掉就好了(如果有的話),別的你輸字母我也不管
可能不太適合國內的邏輯,因為這樣做會允許海外手機註冊// 另外美國手機號也符合1\d (如果把前面的加號去掉的話)
5樓:
建議寬鬆:只檢測長度。最多校驗第一位數字。
"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil." (Donald Knuth)
6樓:黑貓
必然是寬鬆的(1\d),而且截圖裡面的「寬鬆」也過於嚴格了。
用嚴格校驗的都是沒用腦子思考過的。
如果使用者要故意輸錯,怎麼都攔不住。
2. 寬鬆校驗已經能解決相當一部分的誤輸入(最常見的問題是少輸了一位),相比之下,這個「嚴格正則」並沒有明顯的優勢:假如使用者只輸錯了一位數,用「嚴格正則」能校驗出來的概率也就不到 20%,超過 80% 的錯誤還是校驗不出來。
所以這個校驗的意義很大嗎?
3. 需要輸入手機號的業務往往會配合簡訊校驗碼使用,校驗碼能完全解決使用者輸錯的問題。
4. 一旦有新號段的使用者進來,就是線上故障了。只要你的軟體活得足夠久,出線上故障是必然的。(因為時間越久,你就越不可能專門做相關的校驗公升級)。明知有坑為啥還要挖坑呢?
而用寬鬆的校驗會造成啥不良後果嗎?
7樓:以何
能做到以下三點就行
1、能讓產品滿意
2、能完成需求
3、不能出現低階錯誤(比如無限回溯)
嚴謹還是寬鬆看你個人喜好
畢竟你做得再嚴謹
產品不懂覺得你浪費時間
別的程式設計師不懂覺得你裝逼
客戶也不會來公司給你送錦旗
8樓:Jser
其實一般寬鬆就行了,輸錯了收不到驗證碼拉幾把倒。。。但是還是得看產品心情吧(手動狗頭),哪個都用過了555~~~,能有更全面的正則最好了,複製貼上一把梭,到時候讓產品挑,我看你這個能直接演示?
針灸治病到底是真的還是假的呢?
惰性的氡活潑的鍅 針灸治病的真假,你說是什麼的真假呢?有沒有療效?當然有療效,針灸的安慰劑效應可以非常肯定說存在。排除安慰劑效應後有沒有療效?我看到的文章是比對照組強,但效果多的非常少,也就是非常的弱或是統計誤差造成的。至於針灸理論基礎,經絡穴位等,那就是非常扯了,一派胡言。所以你說的真假是那一層次...
數學到底是什麼?為什麼要學呢?為什麼是對的呢?
數學是一種大自然的抽象的語言模式和表達方法,數學對不是因為他是這樣規定的,是因為他描述了宇宙自然的規律,而宇宙自然的規律是唯一的 機械人夏先生1號 對於專業人士而言,數學是工具。搞工程的,搞經濟的,搞金融的 都需要數學這個工具。恩格斯說 一門學科能用數學表達的時候才是科學。對於其餘大部分人而言,數學...
最好的愛到底是不打擾還是不放棄呢?
不懂就問 我覺得沒有最好的愛,有最合適的愛,天時地利人和,都需要合適,所以有些因素不能滿足的時候,如何權衡就看你願意得到什麼而失去什麼,或是失去什麼而得到什麼。 飄飄哈士奇 最好的愛啊,應該是相愛時候不放棄,我有一顆和你一直到老的決心,哪怕最後真的沒有結果了,那我的不打擾便是我對這個感情最大的誠意了...