Если вам нужно иметь последовательность букв, разделенных запятой и пробелом, вы должны использовать это регулярное выражение:
/[cdefgab](, [cdefgab])*/
В своем регулярном выражении нет никакой необходимости в +
квантора, если это только одна буква ,
ЭТО a DEMO.
EDIT:
Если это означало точно соответствовать одна буква или последовательность букв, разделенных запятой, так что вы должны использовать {1} ровно один встречаемости, ваше регулярное выражение должно быть как это:
/[cdefgab]{1}(, [cdefgab])*/
EDIT2:
Чтобы точно соответствовать разыскиваемой последовательности CHARAC Ослабляет и включить/отключить кнопку отправки, соответственно, вы должны использовать это регулярное выражение /^[cdefgab]{1}(, [cdefgab])*$/)
с KeyUp случае ввода, это DEMO:
var validateInput = function validateInput(input) {
var submitButton = document.getElementById("submitButton");
if (input.value.match(/^[cdefgab]{1}(, [cdefgab])*$/)) {
console.log("matches");
submitButton.disabled = false;
} else {
console.log("Unmatches");
submitButton.disabled = "disabled";
}
}
Text:
<input type="text" id="txt" onkeyup="validateInput(this);" />
<input type="submit" id="submitButton" disabled/>
Великий. Я сделал то, что вы предлагали, но когда я помещаю письмо, а затем период или тире, он все равно проходит. Он должен быть только запятой и иметь пробел после него. Что мне не хватает? –
Внутри кронштейнов нет необходимости в трубах! –
обновлено, спасибо @chsdk. @Stack Juice2, можете ли вы привести пример строки? Если вы хотите исключить символы, это становится более трудным, так как начало регулярного выражения ('[a-z]') будет технически «передавать» любую строку, содержащую букву. – Jakemmarsh