לדלג לתוכן

משתמש:מוטי בוט/קוד לדף ההרשמה.js

מתוך המכלול, האנציקלופדיה היהודית

לתשומת ליבך: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
mw.hook("wikipage.content").add(function () {
  // Check if we're on the "Create Account" page and the user is not logged in
  if (
    mw.config.get("wgCanonicalSpecialPageName") !== "CreateAccount" ||
    mw.config.get("wgUserName")
  )
    return;

  var forbiddenUsernames = ["המכלול", "המכון"]; // Add your forbidden usernames here

  var $usernameInput = $("#wpName2");

  var $errorMsgElement = $("<div>")
    .attr("id", "username-error")
    .css({ color: "red", display: "none" });

    $usernameInput.after($errorMsgElement);

    $usernameInput.on('input', mw.util.debounce(validateName, 500));

    function validateName() {
        var inputValue = $usernameInput.val(),
        isValid = true,
        errorMsg = "";

        if (inputValue === "") {
            isValid = false;
            errorMsg = "לא נבחר שם משתמש";
        } else if (inputValue.length < 3) {
            isValid = false;
            errorMsg = "שם המשתמש צריך להכיל לפחות 3 תווים";
        } else if (inputValue.length > 20) {
            isValid = false;
            errorMsg = "אורך שם המשתמש מוגבל ל-20 תווים";
        } else if (inputValue.split(' ').length > 4) {
            isValid = false;
            errorMsg = "שם המשתמש מוגבל ל-3 מילים";
        } else if (forbiddenUsernames.indexOf(inputValue) !== -1) {
            isValid = false;
            errorMsg = "שם המשתמש שבחרת לא זמין";
        } else if (/[^\u0590-\u05FF-"\d\s]/.test(inputValue)) {
            isValid = false;
            errorMsg = "שם המשתמש יכול להכיל רק תווים בעברית, מספרים והתווים: מקף רגיל, גרש רגיל וגרשיים";
        } else if (!/^[\u0590-\u05FF]/.test(inputValue)) {
            isValid = false;
            errorMsg = "שם המשתמש צריך להתחיל בתווים בעברית";
        }

        if (isValid) {
            $errorMsgElement.hide();
        } else {
            $errorMsgElement.text(errorMsg).show();
            $usernameInput.focus();
        }
        $("#wpCreateaccount").prop("disabled", !isValid);

    }
});