I’m trying to write a regular expression to remove white spaces from just the beginning of the word, not after, and only a single space after the word.
Used RegExp:
var re = new RegExp(/^([a-zA-Z0-9]+s?)*$/);
Test Exapmle:
1) test[space]ing - Should be allowed 2) testing - Should be allowed 3) [space]testing - Should not be allowed 4) testing[space] - Should be allowed but have to trim it 5) testing[space][space] - should be allowed but have to trim it
Only one space should be allowed. Is it possible?
Advertisement
Answer
function validate(s) { if (/^(w+s?)*s*$/.test(s)) { return s.replace(/s+$/, ''); } return 'NOT ALLOWED'; } validate('test ing') // => 'test ing' validate('testing') // => 'testing' validate(' testing') // => 'NOT ALLOWED' validate('testing ') // => 'testing' validate('testing ') // => 'testing' validate('test ing ') // => 'test ing'
BTW, new RegExp(..)
is redundant if you use regular expression literal.