手機號碼格式校正

來源:互聯網
上載者:User

標籤:

  1. router.post(‘/register‘,function(req,res,next){  
  2.     var restResult = new RestResult();  
  3.     var mobile = req.body.mobile;  
  4.     if (!/1\d{10}/.test(mobile)){//手機號碼格式校正  
  5.         restResult.errorCode = RestResult.ILLEGAL_ARGUMENT_ERROR_CODE;  
  6.         restResult.errorReason = "請填寫真確的手機格式";  
  7.         res.send(restResult);  
  8.         return;  
  9.     }  
  10.     var password = req.body.password;  
  11.     if(!password || password.length < 6){//密碼長度校正  
  12.         restResult.errorCode = RestResult.ILLEGAL_ARGUMENT_ERROR_CODE;  
  13.         restResult.errorReason = "密碼長度不能少於6位";  
  14.         res.send(restResult);  
  15.         return;  
  16.     }  
  17.   
  18.     //findOne方法,第一個參數數條件,第二個參數是欄位投影,第三那個參數是回呼函數  
  19.     UserEntity.findOne({mobile:mobile},‘_id‘,function(err,user){  
  20.         if(err){//查詢異常  
  21.             restResult.errorCode = RestResult.SERVER_EXCEPTION_ERROR_CODE;  
  22.             restResult.errorReason = "伺服器異常";  
  23.             res.send(restResult);  
  24.             return;  
  25.         }  
  26.   
  27.         if (user){//手機號登入  
  28.             restResult.errorCode = RestResult.BUSINESS_ERROR_CODE;  
  29.             restResult.errorReason = "手機號登入";  
  30.             res.send(restResult);  
  31.             return;  
  32.         }  
  33.   
  34.         var registerUser = new UserEntity({mobile:mobile,password:password});  
  35.         //調用實體的執行個體的儲存方法  
  36.         registerUser.save(function(err,row){  
  37.             if(err){//伺服器儲存異常  
  38.                 restResult.errorCode = RestResult.SERVER_EXCEPTION_ERROR_CODE;  
  39.                 restResult.errorReason = "伺服器異常";  
  40.                 res.send(restResult);  
  41.                 return;  
  42.             }  
  43.   
  44.             res.send(restResult);//返回成功結果  
  45.   
  46.         });  
  47.   
  48.     });  
  49.   
  50. });  
  51.   
  52.   
  53.   
  54. //登陸路由  
  55. router.post(‘/login‘,function(req,res,next){  
  56.     var restResult = new RestResult();  
  57.     var mobile = req.body.mobile;  
  58.     if (!/1\d{10}/.test(mobile)){//手機號碼格式校正  
  59.         restResult.errorCode = RestResult.ILLEGAL_ARGUMENT_ERROR_CODE;  
  60.         restResult.errorReason = "請填寫真確的手機格式";  
  61.         res.send(restResult);  
  62.         return;  
  63.     }  
  64.     var password = req.body.password;  
  65.     if(!password){  
  66.         restResult.errorCode = RestResult.ILLEGAL_ARGUMENT_ERROR_CODE;  
  67.         restResult.errorReason = "密碼不可為空";  
  68.         res.send(restResult);  
  69.         return;  
  70.     }  
  71.   
  72.     UserEntity.findOne({mobile:mobile,password:password},{password:0},function(err,user){  
  73.         if(err){  
  74.             restResult.errorCode = RestResult.SERVER_EXCEPTION_ERROR_CODE;  
  75.             restResult.errorReason = "伺服器異常";  
  76.             res.send(restResult);  
  77.             return;  
  78.         }  
  79.   
  80.         if(!user){  
  81.             restResult.errorCode = RestResult.BUSINESS_ERROR_CODE;  
  82.             restResult.errorReason = "使用者名稱或密碼錯誤";  
  83.             res.send(restResult);  
  84.             return;  
  85.         }  
  86.   
  87.         restResult.returnValue = user;  
  88.         res.send(restResult);  
  89.   
  90.         //更新最後登陸時間  
  91.         UserEntity.update({_id:user._id},{$set: {lastLoginTime: new Date()}}).exec();  
  92.   
  93.     });  
  94.   
  95. });  
  96.   
  97. module.exports = router;  

 

 

 

RestResult.js(統一返回資料格式)檔案內容如下:

 

[javascript] view plain copy 
    1. var RestResult = function(){  
    2.     this.errorCode = RestResult.NO_ERROR ;  
    3.     this.returnValue = {};  
    4.     this.errorReason = "";  
    5. };  
    6.   
    7.   
    8.   
    9. RestResult.NO_ERROR = 0;//無錯誤  
    10. RestResult.ILLEGAL_ARGUMENT_ERROR_CODE = 1;//無效參數錯誤  
    11. RestResult.BUSINESS_ERROR_CODE = 2;//業務錯誤  
    12. RestResult.AUTH_ERROR_CODE = 3;//認證錯誤  
    13. RestResult.SERVER_EXCEPTION_ERROR_CODE = 5;//伺服器未知錯誤  
    14. RestResult.TARGET_NOT_EXIT_ERROR_CODE = 6;//目標不存在錯誤  
    15.   
    16. module.exports = RestResult;  

手機號碼格式校正

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.