1. 程式人生 > 實用技巧 >開發日誌10

開發日誌10

今天完成了簡訊驗證碼的驗證

用時4小時

遇到的問題:

程式碼的邏輯出錯了,在這個頁面共有4個判斷

使用者名稱是否為空,手機號是否為空,驗證碼是否填了,驗證碼是否正確

原始碼:

//獲得使用者輸入的驗證碼
                String name = et_userName.getText().toString().replaceAll("/s","");
                String code = et_checkecode.getText().toString().replaceAll("/s","");
                String pn = et_phonenum.getText().toString().trim().replaceAll("/s","");
                String pw 
= et_password.getText().toString().replaceAll("/s",""); if (TextUtils.isEmpty(name)) {//判斷使用者名稱是否為空 toast("請輸入使用者名稱"); } else if (!TextUtils.isEmpty(name)) {//使用者名稱非空的情況下判斷唯一性 /** * * * 判斷填寫的使用者名稱(這裡的變數是name)是否是唯一的 * *
*/ } else if (TextUtils.isEmpty(pn)) {//判斷手機號是否為空 toast("請輸入手機號"); } else if (!TextUtils.isEmpty(pn)) {//手機號非空的情況下判斷唯一性 /** * * * * 判斷填寫的手機號(這裡的變數是pn)是否是唯一的 * *
*/ } else if (TextUtils.isEmpty(pw)) {//判斷密碼是否為空 toast("請輸入密碼"); } else if (!TextUtils.isEmpty(code)) {//判斷驗證碼是否為空 //驗證 SMSSDK.submitVerificationCode( country, phone, code); }else{//如果使用者輸入的內容為空,提醒使用者 toast("請輸入驗證碼後再提交"); }

而我當時寫的時候,if(手機號==null)

餘下的就是else if了(如上程式碼),後來在真機上驗證時,明明是填好的填對的,點選之後沒有響應(裡邊也沒寫東西,能有反應就怪了)

我就開始一個一個試探,

先不填使用者名稱,報錯

不填手機號,不報錯了,到這我就發現了錯誤,查詢到對應程式碼,才發現我這個錯誤,改了之後就成功了

改後的程式碼:

//獲得使用者輸入的驗證碼
                String name = et_userName.getText().toString().replaceAll("/s","");
                String code = et_checkecode.getText().toString().replaceAll("/s","");
                String pn = et_phonenum.getText().toString().trim().replaceAll("/s","");
                String pw = et_password.getText().toString().replaceAll("/s","");

                if (TextUtils.isEmpty(name)) {//判斷使用者名稱是否為空
                    toast("請輸入使用者名稱");
                }
                else if (!TextUtils.isEmpty(name)) {//使用者名稱非空的情況下判斷唯一性
                    /**
                     *
                     * 判斷填寫的使用者名稱(這裡的變數是name)是否是唯一的
                     *
                     */
                    if (TextUtils.isEmpty(pn)) {//判斷手機號是否為空
                        toast("請輸入手機號");
                    }
                    else if (!TextUtils.isEmpty(pn)) {
                        //手機號非空的情況下判斷唯一性
                        /**
                         *
                         *
                         *
                         * 判斷填寫的手機號(這裡的變數是pn)是否是唯一的
                         *
                         *
                         */
                        if (TextUtils.isEmpty(pw)) {//判斷密碼是否為空
                            toast("請輸入密碼");
                        }
                        if (!TextUtils.isEmpty(code)) {//判斷驗證碼是否為空
                            //驗證
                            SMSSDK.submitVerificationCode( country,  phone,  code);
                        }
                    }
                }
                else{//如果使用者輸入的內容為空,提醒使用者
                    toast("請輸入驗證碼後再提交");
                }