我今天在写一个正则的时候写了下面这个开始的时候我是这么写的:
/^([a-zA-Z]+?[0-9]){5,10}$/
也就是我要求一个由数字和字母组成的串,必须是字母开头至少有一个字母,然后这个串最少要5个字符最多10个,我写完后却发现这么验证返回的都是false然后我在数字前面加了个“|”就解决了,可是我却不知道为什么加了后可以解决,因为加了后翻译过来不是说如果全是数字也可以通过的吗? 实在头疼 高手帮我翻译下和解决下我疑惑非常感谢
/^([a-zA-Z]+?|[0-9]){5,10}$/
/^([a-zA-Z]+?[0-9]){5,10}$/
也就是我要求一个由数字和字母组成的串,必须是字母开头至少有一个字母,然后这个串最少要5个字符最多10个,我写完后却发现这么验证返回的都是false然后我在数字前面加了个“|”就解决了,可是我却不知道为什么加了后可以解决,因为加了后翻译过来不是说如果全是数字也可以通过的吗? 实在头疼 高手帮我翻译下和解决下我疑惑非常感谢
/^([a-zA-Z]+?|[0-9]){5,10}$/
解决方案 »
- 在线求助!如何在html页面中实现数字自动增加
- Javascript 求完成函数注释体所描述的功能
- 怎么通过鼠标点击借助javaScript的来获得页面中的当前dom元素信息(类似firebug或ie Developer这样的功能)
- JS达人帮个忙
- 光标跟随问题.
- 200分征解:让flash在div 1的位置显示
- javascript里对象的永久参数问题
- 如何指派事件?
- 急!急!用window.location.reload()为什么页面闪个不停,好象进了无限循环。请高手们帮我看看!!
- Vue2.0求助信息!
- 超级郁闷!!!FireFox里面没有innerHTML ...................
- 文本框中响应回车事件,没办法focus()
/^([a-zA-Z]+?[0-9]){5,10}$/
的意思是:匹配a1a2a2d2d3d3f3 5-10组字母加数字/^([a-zA-Z]+?|[0-9]){5,10}$/
的意思是:
匹配5-10个字母数字,如:111111,aaaaaaa都是true
+ 表示匹配前面的规则的一次或多次 [a-zA-Z]+ 表示出现一次或多次字母
?在+后面表示非贪婪,即原本+会尽可能匹配多次,现在值匹配一次就不再向后匹配了。
如:a+? 等价如a 都是匹配a一次