messageBox 是一個通知的Toast, 沒放在這裏this
function SMSCaptcha() { this.smsbtn = $('.sms-captcha-btn'); this.flag = true; this.mobileNumber = $('.mobile-number');}SMSCaptcha.prototype.mobileNumberChecking = function () { var self = this; mobleNumber = self.mobileNumber.val(); var result = mobleNumber.search(/1[345678]\d{9}/i); return result;};SMSCaptcha.prototype.requestSMS = function () { var self = this; self.flag = false; $.get("//", function (data, status) { if (data["code"] == "200") { window.messageBox.show("短信已發送"); var i = 60; timer = setInterval(function () { if (i > 0) { self.smsbtn.text(i + "s後可重發"); i-- } else { self.smsbtn.text("發送驗證碼"); self.flag = true; clearInterval(timer); // return null; } }, 1000); } })};SMSCaptcha.prototype.listenSMSBtnClicking = function () { var self = this; self.smsbtn.click(function () { result = self.mobileNumberChecking(); if (result > -1) { if (self.flag == true) { self.requestSMS() } } else { messageBox.show("請輸入正確的手機號碼"); } })};SMSCaptcha.prototype.run = function () { var self = this; self.listenSMSBtnClicking();};