sign.js 2.1 KB

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