错误检查输入,Javascript
我试图检查用户输入的内容是否以两个字母开头,后跟 6、8 或 10 个数字。检查字符串长度应该没问题,但是有没有一种更简洁的方法来检查前两个字符是否为字母以及后续的 6、8 或 10 个字符是否为数字,而不是将每个字符转换为 unicode 然后以这种方式进行检查?
I am trying to check that what the user inputs begins with two letters, followed by either 6, 8 or 10 numbers. Checking string length should be ok but is there a neater way to check that the first two characters are letters and that the subsequent 6, 8 or 10 characters are numbers than converting each character to unicode and then checking that way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用正则表达式:
仅当前 2 个是字母并且接下来的 6、8 或 10 是数字时,这才会通过。
JS:
这是完整的JS示例:http://jsfiddle.net/mrchief/sRLrW/
You can use regex:
This will pass only if the first 2 are alphas and next 6 or 8 or 10 are numbers.
JS:
Here's complete JS example: http://jsfiddle.net/mrchief/sRLrW/
为什么不使用正则表达式呢? Javascript 有很好的正则表达式支持。
Why not use regular expressions? Javascript has a decent regular expression support.
突然想到:
执行 [0-9]{6,10} 不行,因为它允许 7 或 9 位数字,而不仅仅是 6/8/10。
Going off the top of my head:
Doing a [0-9]{6,10} wouldn't do, as that'd allow 7 or 9 digits, not just 6/8/10.