sign.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  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|\/|[A-Z]/);
  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("password and repassword is not match");
  21. hasError = true;
  22. }
  23. if(isValidPassword($("#password").val())==false){
  24. $("#error_password").text(gLocal.gui.password_invaild_symbol);
  25. hasError = true;
  26. }
  27. if($("#password").val().length < 6){
  28. $("#error_password").text('Password is too short');
  29. hasError = true;
  30. }
  31. if($("#password").val().length > 31){
  32. $("#error_password").text('Password is too long');
  33. hasError = true;
  34. }
  35. if(isValidUserName($("#username").val())==false){
  36. $("#error_username").text(gLocal.gui.username_invaild_symbol);
  37. hasError = true;
  38. }
  39. let nickname = $("#nickname").val();
  40. if( nickname ==""){
  41. nickname = $("#username").val();
  42. }
  43. let lang = $("#lang").val();
  44. if(lang=="zh-cn"){
  45. lang = "zh-hans";
  46. }
  47. if(lang == "zh-tw"){
  48. lang = "zh-hant";
  49. }
  50. if(hasError){
  51. return;
  52. }
  53. $.ajax({
  54. type: 'POST',
  55. url:"../api/user.php?_method=create",
  56. contentType:"application/json; charset=utf-8",
  57. data:JSON.stringify({
  58. invite:$("#invite").val(),
  59. username:$("#username").val(),
  60. password:$("#password").val(),
  61. email:$("#email").val(),
  62. nickname:nickname,
  63. lang:$("#lang").val()
  64. }),
  65. dataType:"json"
  66. }).done(function (data) {
  67. if(data.ok){
  68. $("#form_div").hide();
  69. $("#message").removeClass("form_error");
  70. $("#message").html(gLocal.gui.successful+" <a href='index.php?op=login'>"+gLocal.gui.login+"</a>");
  71. }else{
  72. $("#message").addClass("form_error");
  73. $("#message").text(ConvertServerMsgToLocalString(data.message));
  74. }
  75. }).fail(function(jqXHR, textStatus, errorThrown){
  76. $("#message").removeClass("form_error");
  77. $("#message").text(textStatus);
  78. switch (textStatus) {
  79. case "timeout":
  80. break;
  81. case "error":
  82. switch (jqXHR.status) {
  83. case 404:
  84. break;
  85. case 500:
  86. break;
  87. default:
  88. break;
  89. }
  90. break;
  91. case "abort":
  92. break;
  93. case "parsererror":
  94. console.log("delete-parsererror",jqXHR.responseText);
  95. break;
  96. default:
  97. break;
  98. }
  99. });
  100. }
  101. function ConvertServerMsgToLocalString(str){
  102. if(str.slice(0,2)=="::"){
  103. let msg = str.slice(2);
  104. if(gLocal.gui.hasOwnProperty(msg)){
  105. return gLocal.gui[msg];
  106. }
  107. }
  108. return str;
  109. }