我是JavaScript的新手,特别是使用正则表达式。我想知道,如果我定义一个检查许多不同错误的regEx,我如何为每个错误生成单独的错误警报,而不是一条消息覆盖所有发现的错误?例如,此表达式提示警告框是输入字段是数字,是否有空格,或找到定义的无效字符。如何生成单独引用每个条件的警报,即,如果问题只是找到了一个空格,那就是所有消息都说明了:
var pattern = /[\d+\s#!%&*:<>?/{|}]/
if(document.myform.usernameInput.value.match(pattern)){
alert("do not use numbers, spaces or invalid caharacters: #%&*:<>?/{|}")
答案 0 :(得分:1)
最简单的方法是使用几个regExps:
function check(str) {
var digits = /\d/;
var spaces = /\ /;
var chars = /[\#\!\%\&\*\:\<\>\?\/\{\|\}]/;
if(str.match(digits)){
alert("do not use numbers");
return false;
};
if(str.match(spaces)){
alert("do not use numbers");
return false;
};
if(str.match(chars)){
alert("do not use invalid caharacters: #%&*:<>?/{|}");
return false;
};
return true;
}