我试图通过JS弄清楚是否在textarea中输入了无效的字符
我想只允许这个字符:
A-Za-z0-9 !#%&*()+-=,.?"';:/
如果输入非法字符,我想检索坏字符,并触发错误,即:
文字无效,写了不好的字符:
1) _
2) @
etc...
谢谢!
答案 0 :(得分:2)
我不确定你什么时候想做这个检查,但是这里有一个检查功能。它会提醒第一个无效的角色。
function checkValue(input) {
var result = /[^a-z0-9 !#%&*()+\-=,.?"';:\/]/i.exec(input.value);
if (result) {
alert("Character '" + result[0] + "' is not allowed");
return false;
} else {
return true;
}
}
如果您想要所有匹配的无效字符,则可以使用以下内容:
function checkValue(input) {
var isValid = true, result, matchedChars = [];
while( (result = /[^a-z0-9 !#%&*()+\-=,.?"';:\/]/ig.exec(input.value)) ) {
matchedChars.push("'" + result[0] + "'");
isValid = false;
}
if (!isValid) {
alert("Characters " + matchedChars.join(", ") + " are not allowed");
}
return isValid;
}