Reputation: 2481
I have come up my regex in javascript ^[a-zA-Z0-9.]+([.][a-zA-Z0-9]+)$
which I am trying to filter out string.
These are my expected pass cases
These are my expected No-pass cases
I feel like I am very close(or not at all). How can I filter out dot repeating dot characters? Thanks in advance!
Upvotes: 1
Views: 105
Reputation: 1456
I think that's what you looking for:
/^([a-zA-Z0-9]+\.)+([a-zA-Z0-9]+)$/
Tests
expected pass cases
/^([a-zA-Z0-9]+\.)+([a-zA-Z0-9]+)$/.test('foo.bar') // true
/^([a-zA-Z0-9]+\.)+([a-zA-Z0-9]+)$/.test('f.o.o') // true
/^([a-zA-Z0-9]+\.)+([a-zA-Z0-9]+)$/.test('foo.bar.foo') // true
/^([a-zA-Z0-9]+\.)+([a-zA-Z0-9]+)$/.test('fo.123.321') // true
Expected No-pass cases
/^([a-zA-Z0-9]+\.)+([a-zA-Z0-9]+)$/.test('.foo') // false
/^([a-zA-Z0-9]+\.)+([a-zA-Z0-9]+)$/.test('.foo.') // false
/^([a-zA-Z0-9]+\.)+([a-zA-Z0-9]+)$/.test('foo.') // false
/^([a-zA-Z0-9]+\.)+([a-zA-Z0-9]+)$/.test('foo..bar') // false
/^([a-zA-Z0-9]+\.)+([a-zA-Z0-9]+)$/.test('.foo.bar') // false
Upvotes: 3