解释如下: (^[a-wy-z][a-z0-9]+$) 表示首字符为小写字母,且不是 x (^x[a-eg-z0-9][a-z0-9]+$) 表示首字母为 x 且次位不是 f (^$) 匹配空串。 (^x?$) 匹配空串或者串 "x"
如果需要忽略大小写,可以使用 /(^[a-wy-z][a-z0-9]+$)|(^x[a-eg-z0-9][a-z0-9]+$)|(^$)/i
其实你也可以
function isWanted (str) {
return /^((?!xf).)*$/.test(str) && /(^([a-z])+([a-z0-9])+$)|(^$)/.test(str);
}
不以XX开头,你需要的是零宽度负回顾后发断言
字母和数字混合,这个就比较常规了
合在一起应该就是你想要的
但是分割线
JavaScript不支持这种高级货(我也是才知道),所以只能这样
不知道这个正则怎么样: // Update: 添加 x? 以匹配chuan
"x"
(^[a-wy-z][a-z0-9]+$)|(^x[a-eg-z0-9][a-z0-9]+$)|(^x?$)
一些测试:
解释如下:
(^[a-wy-z][a-z0-9]+$)
表示首字符为小写字母,且不是 x(^x[a-eg-z0-9][a-z0-9]+$)
表示首字母为 x 且次位不是 f(^$)
匹配空串。(^x?$)
匹配空串或者串"x"
如果需要忽略大小写,可以使用
/(^[a-wy-z][a-z0-9]+$)|(^x[a-eg-z0-9][a-z0-9]+$)|(^$)/i
其实你也可以
有用请支持哦