Angularjs中字母数字的正则表达式

时间:2016-07-01 06:09:26

标签: javascript angularjs regex

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

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

4 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

你可以尝试这个。这个表达式至少满足一个数字和一个字符,没有其他特殊字符

^(?=.*[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

答案 2 :(得分:0)

如果您想要返回替换结果,那么这将起作用:

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

这将返回:

Test123TEST

OR

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

上面的正则表达式允许字符串中的空格并限制特殊字符。它只允许a-z,A-Z,0-9,Space,Underscore和dash。

答案 3 :(得分:0)

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

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