在javascript中验证特殊字符

时间:2017-03-14 13:49:55

标签: javascript jquery javascript-events

我想在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中验证它。

1 个答案:

答案 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;
&#13;
&#13;