sign.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. function isValidPassword(str){
  2. let patt=new RegExp(/\s|\//);
  3. if(patt.test(str)){
  4. return false;
  5. }else{
  6. return true;
  7. }
  8. }
  9. function isValidUserName(str){
  10. let patt=new RegExp(/@|\s|\//);
  11. if(patt.test(str)){
  12. return false;
  13. }else{
  14. return true;
  15. }
  16. }
  17. function submit(){
  18. let hasError = false;
  19. if($("#password").val()!==$("#repassword").val()){
  20. $("#error_password").text("两次密码输入不一致");
  21. hasError = true;
  22. }
  23. if(isValidPassword($("#password").val())==false){
  24. $("#error_password").text("密码包含无效字符。 / 空格 ");
  25. hasError = true;
  26. }
  27. if(isValidUserName($("#username").val())==false){
  28. $("#error_password").text("用户名包含无效字符。@ / 空格 ");
  29. hasError = true;
  30. }
  31. let nickname = $("#nickname").val();
  32. if( nickname ==""){
  33. nickname = $("#username").val();
  34. }
  35. let lang = $("#lang").val();
  36. if(lang=="zh-cn"){
  37. lang = "zh-hans";
  38. }
  39. if(lang == "zh-tw"){
  40. lang = "zh-hant";
  41. }
  42. if(hasError){
  43. return;
  44. }
  45. $.ajax({
  46. type: 'POST',
  47. url:"../api/user.php?_method=create",
  48. contentType:"application/json; charset=utf-8",
  49. data:JSON.stringify({
  50. invite:$("#invite").val(),
  51. username:$("#username").val(),
  52. password:$("#password").val(),
  53. email:$("#email").val(),
  54. nickname:nickname,
  55. lang:$("#lang").val()
  56. }),
  57. dataType:"json"
  58. }).done(function (data) {
  59. if(data.ok){
  60. $("#form_div").hide();
  61. $("#message").removeClass("form_error");
  62. $("#message").html("注册成功。<a href='index.php?op=login'>"+gLocal.gui.login+"</a>");
  63. }else{
  64. $("#message").addClass("form_error");
  65. $("#message").text(ConvertServerMsgToLocalString(data.message));
  66. }
  67. }).fail(function(jqXHR, textStatus, errorThrown){
  68. $("#message").removeClass("form_error");
  69. $("#message").text(textStatus);
  70. switch (textStatus) {
  71. case "timeout":
  72. break;
  73. case "error":
  74. switch (jqXHR.status) {
  75. case 404:
  76. break;
  77. case 500:
  78. break;
  79. default:
  80. break;
  81. }
  82. break;
  83. case "abort":
  84. break;
  85. case "parsererror":
  86. console.log("delete-parsererror",jqXHR.responseText);
  87. break;
  88. default:
  89. break;
  90. }
  91. });
  92. }
  93. function ConvertServerMsgToLocalString(str){
  94. if(str.slice(0,2)=="::"){
  95. let msg = str.slice(2);
  96. if(gLocal.gui.hasOwnProperty(msg)){
  97. return gLocal.gui[msg];
  98. }
  99. }
  100. return str;
  101. }