Reputation: 243
I want a regex for alphanumeric characters in angularJS, I've tried some regex like "(\d[a-z])" but they allow me to enter only number as well as only alphabets. But I want a regex which won't allow me to enter them.
Example: 121232, abchfe, abd()*, 42232^5$ are some example of invalid input. 12fUgdf, dGgs1s23 are some valid inputs.
Upvotes: 2
Views: 7358
Reputation: 1252
try this one : ^(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]+$
dGgs1s23-valid
12fUgdf-valid,
121232-invalid,
abchfe-in valid,
abd()*- invalid,
42232^5$- invalid
Upvotes: 0
Reputation: 16805
You can try this one. this expression satisfied at least one number and one character and no other special characters
^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$
in angular can test like:
$scope.str = '12fUgdf';
var pattern = new RegExp('^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$');
$scope.testResult = pattern.test($scope.str);
Upvotes: 1
Reputation: 8423
This one requires atleast one of each (a-z, A-Z and 0-9):
^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])([a-zA-Z0-9]+)$
Upvotes: 2
Reputation: 560
If you wanted to return a replaced result, then this would work:
var a = 'Test123*** TEST';
var b = a.replace(/[^a-z0-9]/gi,'');
console.log(b);
This would return:
Test123TEST
OR
/^([a-zA-Z0-9 _-]+)$/
the above regex allows spaces in side a string and restrict special characters.It Only allows a-z, A-Z, 0-9, Space, Underscore and dash.
Upvotes: 0