我想在javascript中使用@, #, $, %, ^, &, *
等特殊字符进行验证,并向用户显示该消息。如果用户输入这些特殊字符的组合,我需要显示一条消息并阻止保存表单。
我尝试了下面的一个,
var label_name = $('#label_name_popup').val();
var regExp = /^[a-zA-Z]*$/
if (!regExp.test(label_name)) {
alert("Special character not allowed")
return false;
}
else {
return true;
}
这不起作用。任何人都可以帮助我在javascript中验证它。
答案 0 :(得分:0)
我建议你使用keyup
事件来测试每个新输入字符的input
值。如果它没有通过测试功能,则会出现警告。
这并不能解释为什么OP的代码无法正常工作。 - OP没有将代码丢弃到任何函数中,也没有解决问题将其绑定到任何event listener
。那么它应该如何运作呢?
阻止保存表单。 - 如果输入有效,您可以实现boolean
变量truthy
;如果输入有效,则可以falsy
;不是。
然后在提交表单时实现一个简单的条件,即isInputValid
变量为false时,表单无法提交。
var regExp = new RegExp(/^[a-zA-Z]*$/),
isInputValid = false;
$('#label_name_popup').on('keyup', function() {
var label_name = $('#label_name_popup').val();
if (regExp.test(label_name) && label_name) {
console.log("The form is valid.");
isInputValid = true;
} else {
console.log("The form is invalid.");
isInputValid = false;
}
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id='label_name_popup'>
&#13;