我想在angularJS中使用字母数字字符的正则表达式,我尝试了一些像“(\ d [a-z])”这样的正则表达式,但它们只允许我输入数字以及仅输入字母。但我想要一个不允许我输入它们的正则表达式。
实施例: 121232,abchfe,abd()*,42232 ^ 5 $ 是无效输入的一些示例。 12fUgdf,dGgs1s23 是一些有效输入。
答案 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