【问题标题】:Regular expression for alphanumeric in AngularjsAngularjs中字母数字的正则表达式
【发布时间】:2023-04-02 06:35:01
【问题描述】:

我想要一个用于 angularJS 中字母数字字符的正则表达式,我尝试了一些像 "(\d[a-z])" 这样的正则表达式,但它们只允许我输入数字和字母。但我想要一个不允许我输入它们的正则表达式。

示例: 121232、abchfe、abd()*、42232^5$invalid 输入的一些示例。 12fUgdf, dGgs1s23 是一些有效输入。

【问题讨论】:

标签: javascript angularjs regex


【解决方案1】:

这需要至少一个(a-z、A-Z 和 0-9):

^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])([a-zA-Z0-9]+)$

【讨论】:

    【解决方案2】:

    你可以试试这个。此表达式至少满足一个数字和一个字符,并且不满足其他特殊字符

    ^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$
    

    角度可以测试如下:

    $scope.str = '12fUgdf';
    var pattern = new RegExp('^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$');
    $scope.testResult = pattern.test($scope.str);
    

    PLUNKER DEMO

    【讨论】:

      【解决方案3】:

      如果你想返回一个替换的结果,那么这会起作用:

      var a = 'Test123*** TEST';
      var b = a.replace(/[^a-z0-9]/gi,'');
      console.log(b);
      

      这将返回:

      Test123TEST
      

      /^([a-zA-Z0-9 _-]+)$/
      

      上面的正则表达式允许字符串中的空格并限制特殊字符。它只允许 a-z、A-Z、0-9、空格、下划线和破折号。

      【讨论】:

      • 你应该去 regex.test(str) 因为他从来没有要求替换
      【解决方案4】:

      试试这个:^(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]+$

      dGgs1s23-valid
      12fUgdf-valid,
      121232-invalid, 
      abchfe-in valid,
       abd()*- invalid, 
      42232^5$- invalid
      

      【讨论】:

        猜你喜欢
        • 2011-09-16
        • 2014-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多