正在创建一个测试此模式的javascript正则表达式:(swap! app-state update-in [:contacts] f elements of args)
..带有某些字母。
换句话说,用逗号分隔的字母和逗号后面的空格。测试需要至少有一个字母才能通过,但之后可以有无限的数量。
到目前为止,我有这个:
a, b, c, etc
但是如上所述让它无法正常工作。
答案 0 :(得分:1)
如果你需要用逗号和空格分隔的字母序列,你应该使用这个正则表达式:
/[cdefgab](, [cdefgab])*/
在你的正则表达式中,如果+
量词只有一个字母,则不需要它。
这是 a DEMO 。
修改强>
如果它只是用一个字母或来匹配一个用逗号分隔的字母序列,那么你需要使用{1}来完全出现一个,你的正则表达式应该是这样的这样:
/[cdefgab]{1}(, [cdefgab])*/
<强> EDIT2:强>
为了完全匹配所需的字符序列并相应地启用/禁用提交按钮,您应该将此正则表达式/^[cdefgab]{1}(, [cdefgab])*$/)
与输入的keyup事件一起使用,这是一个演示:
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";
}
}
&#13;
Text:
<input type="text" id="txt" onkeyup="validateInput(this);" />
<input type="submit" id="submitButton" disabled/>
&#13;
答案 1 :(得分:0)
/[a-z](, [a-z])*/
这至少需要一个字母,然后可以有任意数量的字母(0或更多),前面有逗号和空格。
编辑:如果您只是查找特定字母,请将[a-z]
的实例替换为您要查找的字母括在方括号内。即[cefg]