正则表达式不允许只包含数字和特殊字符

时间:2019-07-19 10:01:42

标签: javascript regex

如何创建不只允许数字和仅允许特殊字符的REGEX

00001111->不应被允许 @@@ ***->不应被允许

user1111->应该被允许 应该允许user @ 111->

仅允许使用数字或特殊字符以外的其他任何组合

1 个答案:

答案 0 :(得分:0)

测试两次,并检查两个测试是否成功。您将检查不匹配的模式,因此各个测试结果会倒置。没有针对“特殊字符”的预定义字符类,您必须明确考虑哪些字符被视为“特殊”:

let as_test
  , b_digits
  , b_special
  ;

as_test = [
     '00001111'
   , '@@@***'
   , 'user1111'
   , 'user@111'
];

as_test.forEach ( (ps_test) => {
    b_digits = /^[0-9]+$/.test( ps_test );
    b_special = /^[!"§$%&/()=?@*]+$/.test( ps_test );  // Complement the character class as needed

    console.log(`Test string '${ps_test}': ${(!b_digits && !b_special) ? "OK" : "FAIL"}.`);
});