CheziHoyzer
我想有一个正则表达式,用于检查字符串是否最多包含14个字母数字字符。可以包括连字符,不能在开头或结尾。
这是我到目前为止所拥有的:
var patt = new RegExp("^([a-zA-Z0-9]+(-[a-zA-Z0-9])*){1,14}$");
但这不起作用-http://jsfiddle.net/u6cWs/1/
任何的想法?
乌鲁格贝克·乌米罗夫
您需要使用正向先行(带可选连字符的字母数字字符数)。
如果只允许使用单个连字符:
^(?=([a-zA-Z0-9]-?){1,14}$)[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)?$
演示版
如果允许多个连字符:
^(?=([a-zA-Z0-9]-?){1,14}$)[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*$
演示版
附加选项:
^[a-zA-Z0-9](?:-?[a-zA-Z0-9]){0,13}$
演示版
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句