我正在使用此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
答案 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]$
另外,我建议您使用i
标记来忽略大小写:
var userIdPattern = new RegExp('^[a-z0-9][a-z0-9_.]{3,13}[a-z0-9]$', 'i');