javascript regEx检查最后一个字符

时间:2013-08-11 12:36:57

标签: javascript regex string

我正在使用此RexExp代码var userIdPattern = new RegExp('^([A-z0-9_.]{4,15})$');,我想检查最后一个字符是否为点(.),然后.test()返回给我false

var userIdPattern = new RegExp('^([A-z0-9_.]{4,15})$');
console.log(userIdPattern.test('Omid.my.')); // -> I need this to be false

并在这种情况下返回true

userIdPattern.test('Omid.my'); //-> true

2 个答案:

答案 0 :(得分:5)

更新后,更合适的正则表达式可能是:

var userIdPattern = new RegExp('^([A-Za-z0-9\[\]\\^`][A-z0-9_.]{2,13}[A-Za-z0-9\[\]\\^`])$');

也就是说,如果您想在其评论中提到的7stud等用户名中包含其他特殊字符,并且只从第一个和最后一个字符中排除._

否则,为了防止这些字符,我建议:

var userIdPattern = new RegExp('^([A-Za-z0-9][A-Za-z0-9_.]{2,13}[A-Za-z0-9])$');

Fiddle进行测试。

答案 1 :(得分:4)

你可以这样做

^([A-z0-9_.]{3,14}[A-z0-9])$

阅读评论后编辑

^[a-z0-9][a-z0-9_.]{2,13}[a-z0-9]$

Preview

另外,我建议您使用i标记来忽略大小写:

var userIdPattern = new RegExp('^[a-z0-9][a-z0-9_.]{3,13}[a-z0-9]$', 'i');