javascript - 如何将 match() 用于字符白名单?

标签 javascript

我使用 preg_match 进行服务器端验证,但我也想有一个客户端。

对于我的 PHP,我允许这些字符:

'/^[A-Za-z][a-zA-Z0-9 .:-,!?]+$/'

如何在 JavaScript 中使用 match() 创建字符白名单?

编辑:

我试过了,但由于某种原因没有成功:

我的调试器在 if 语句之前说:

218SyntaxError:无效的正则表达式:字符类中的范围乱序

$('#title').blur(function(){
      input = $('#title').val();
      var invalidChars = /^[^a-z][^a-z\d .:-,!?]+$/i;
    if (!invalidChars.test(input)){
         alert('true');     
         }
      else {
           alert('false');
           }
});

最佳答案

以上所有答案都是正确的,尽管只是一个旁注:不是编写 [A-Za-z],而是一个简单的 /[a-z]/i 就足够了。 i 是一个不区分大小写的标志...

关于javascript - 如何将 match() 用于字符白名单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10147935/

相关文章:

javascript - 如何将 D3 中的连接路径/线移动到形状的边缘

javascript - 在 Quill 中设置新增量后设置光标位置

javascript - Vue路由器动态组件

javascript - 如何禁用 IE11 WebBrowser 控件缩放

javascript - chrome.webRequest API,捕获 POST 数据?

javascript - 无法创建由继承自多个类的类组成的 AngularJS 服务

javascript - match() 或 split() 搞乱了我的代码

javascript - 历史.back();不会触发 $(document).ready();

Javascript,将两个数组组合成一种格式

javascript - AJAX 调用系列