我正在使用这个 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
最佳答案
更新后,更合适的正则表达式可能是:
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进行测试。
关于javascript regExp检查最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18171964/