前端的手機號正則到底是要寬鬆呢還是嚴謹呢, 你喜歡哪種

時間 2021-06-01 17:19:26

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號 對於專業人士而言,數學是工具。搞工程的,搞經濟的,搞金融的 都需要數學這個工具。恩格斯說 一門學科能用數學表達的時候才是科學。對於其餘大部分人而言,數學...

最好的愛到底是不打擾還是不放棄呢?

不懂就問 我覺得沒有最好的愛,有最合適的愛,天時地利人和,都需要合適,所以有些因素不能滿足的時候,如何權衡就看你願意得到什麼而失去什麼,或是失去什麼而得到什麼。 飄飄哈士奇 最好的愛啊,應該是相愛時候不放棄,我有一顆和你一直到老的決心,哪怕最後真的沒有結果了,那我的不打擾便是我對這個感情最大的誠意了...