我有一个输入元素,点击一个按钮,我检查它的值是否包含一组特殊字符并返回一个布尔值,它工作正常。我想要实现的是一旦返回布尔值,如果在我想在 ap 标签中显示这些特殊字符的值中找到任何特殊字符。我怎样才能做到这一点?提前致谢。
const format = /[ `!@#$%^&*_+-=\[\]{};':"\\|<>\/?~]/ const value = $('input').val() $('button').on('click', function() { if (format.test(value) == true) { //something like this $('p').html(the found special character + 'not allowed') } }) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input /> <button>click me</button> <p></p>
如果您正在寻找非字母数字字符,我会/[^A-Z0-9,]/ig改用。还使用 match 允许您查看结果是否存在并显示它们
/[^A-Z0-9,]/ig
const format = /[^A-Z0-9,]/ig $('button').on('click', function() { $('p').html("") const value = $('input').val() const results = value.match(format) if (results) { $('p').html(results.join(',') + ' is not allowed') } }) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input /> <button>click me</button> <p></p>