手机号码格式校验

  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;  

转载于:https://www.cnblogs.com/jayruan/p/5140998.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值