iT邦幫忙

0

[objective c]實作註冊頁面-密碼與再次確認密碼

小的第一次在it邦發文,如果在格式或是其他規定方面沒有符合版上的一些要求或是習慣,也請大大們多多擔待

https://ithelp.ithome.com.tw/upload/images/20190904/201206348DCGOQzdfF.png

如圖所示,我的示意圖如左
密碼限制:6-12碼英文+數字

當我把密碼與確認密碼設定在8碼或以下,只要是符合上述的規則,都能通過

但是我把密碼設定在10碼後,他就顯示密碼與確認密碼不符

我自己也覺得我這樣寫起來很有問題,可以請大大指點?

介面
https://ithelp.ithome.com.tw/upload/images/20190904/20120634eGpKOp1p1s.png

限制密碼為數字及英文字母
https://ithelp.ithome.com.tw/upload/images/20190904/201206341TddrVPnSx.png

按下註冊時的格式判斷

https://ithelp.ithome.com.tw/upload/images/20190904/20120634eskxPieVMo.png

編輯時的格式限制
https://ithelp.ithome.com.tw/upload/images/20190904/20120634UaFBd1GmTb.png

看更多先前的討論...收起先前的討論...
dragonH iT邦超人 5 級 ‧ 2019-09-04 14:52:46 檢舉
沒碰過 object-c

不過你會 show "密碼與確認密碼不符" 的那部分

看起來沒有檢查長度的 code 阿

你確定是長度的問題嗎
大大,19行跟23行就是對密碼長度的限制
我好想擷取的程式碼有點太少 我處理一下
沒意外應該是長度的問題,因為接近到10~12碼 幾乎都不能通過
可是在6-8碼基本上都沒問題
ant1017 iT邦新手 2 級 ‧ 2019-09-04 15:21:52 檢舉
如果是長度的話,將兩者的長度弄出來就知道了
你為什麼把present的行為寫在會有回傳YES和NO的method裡面?
sam大大 抱歉 我不太懂您的意思 請問不能這樣寫嗎
我當初是想說 要四個空格都有填 且符合自訂的條件 所以才用這種方式寫的
再來你要比對文字要這樣寫才對:
[self.pwText.text isEqualToString:self.pwAgainText.text]
或許跑起來不像有問題。
但既然是回傳BOOL,就應該在取回bool的地方再做present
你沒寫測試功能所以沒在意。
你要寫測試的話會出問題的。
sam大大 可以了 感謝您
感謝您的提點 我等等去修改看看
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2

好吧!偶爾來小賺個點數回答一下。
字串比對的話最好是使用isEqualToString來做。
這樣比對才不會出問題。
再來就是職責的問題了。
假設你的東西是有回傳的(非void)
最好還是在正確的回傳後去進行你要做的事情。
中途的中斷怕是會有非預期的情況發生。

看更多先前的回應...收起先前的回應...

感謝您的幫忙!

dragonH iT邦超人 5 級 ‧ 2019-09-04 15:57:52 檢舉

Sam 大借串想問一下

如果他不是用你說的字串比對的方法

原本的那個部分會得到什麼

好奇為什麼是10碼後才有這個問題

/images/emoticon/emoticon41.gif

dragonH
== 在objc要分二個來看
當比對的是數字類型,比對的是值
比對的是物件類型,比對的是位址
而字串其實算是物件類型。
所以要比較就得用字串所提供的方法也就是isEqualToString
雖然照道理他應該會出現黃色警示才對………

我的沒有出現QQ

感謝大大的詳解,要不然我真的搞不太懂兩者的差異

dragonH iT邦超人 5 級 ‧ 2019-09-04 16:16:55 檢舉

喔喔

原來是這樣

感謝 Sam 大 /images/emoticon/emoticon41.gif

我要發表回答

立即登入回答