正则表达式修改

^([a-z0-9]+(?:[._-][a-z0-9]+)*)$

添加位数限制1~64位

阅读 2.1k
2 个回答
^([a-z0-9]+(?:[._-][a-z0-9]+)*){1,64}$

那得调整下思路:

  1. 合法字符集._-a-z0-9,且长度范围[1, 64];
  2. ._-不能出现在首位。
const regExp = /^(?!^[._\-])(?!.*[._\-]$)[._\-a-z0-9]{1,64}$/

// TEST
regExp.test('adfdsa.df-_d.a') // true
regExp.test('adfdsa.df-_d.') // false
regExp.test('_adfdsa.df') // false
推荐问题