簡體   English   中英

如何在提交到數組 Javascript 之前將 input.value 更改為大寫

[英]How to change input.value to capitalize before submitting to array Javascript

我有一個按鈕將 input.value 提交到空數組。

該函數正在檢查數組中是否沒有任何匹配的名稱,如果有則拋出錯誤,但如果有小寫或大寫字母則不會。

我希望此函數將 input.value 的第一個字母大寫,並將其余字母小寫,然后再將其提交到數組中。 所以我想輕松檢查是否不會有兩個相同的名字只是以另一種方式書寫。

你知道如何使用 vanilla JS 讓它工作嗎?

const nameInput = document.getElementById('inputName');
let nameListDisplay = document.getElementById('nameListDisplay');
let assignmentDisplay = document.getElementById('assignmentDisplay');
let onlyLetters = '^[a-zżźćńłśąęóA-ZŻŹĆŃŁŚĄĘÓ ]+$';

let namesList = [];
    
function addName() {
        if (nameInput.value.match(onlyLetters)) {
            if (namesList.includes(nameInput.value)) {
                console.log('error');
            }
            else {
                console.log('name added');
                namesList.push(nameInput.value);
                nameInput.value = ''; 
                displayNames();
            }  
        }
        else {
            console.log('error');
        }
    };

此函數將大寫第一個字母,小寫字符串的其余部分。

function toTitleCase(str) {
  return str.replace(/\w\S*/g, (txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase());
}

進而:

if (nameInput.value.match(onlyLetters)) {
            if (namesList.includes(toTitleCase(nameInput.value))) { // here
                console.log('name already exists');
            }
            else {
                console.log('name added');
                namesList.push(toTitleCase(nameInput.value)); // here
                nameInput.value = ''; 
                displayNames();
            }  
        }
        else {
            console.log('error');
        }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM