【发布时间】:2015-11-19 05:54:04
【问题描述】:
我需要一个正则表达式,它需要满足以下条件:-
- 它应该接受字母数字
- 只有一个
space或hyphen或者两者都可以。但无论如何它应该只有一个space或一个hyphen - 最大总长度应为 10 个字符
例如有效数据
- W1A 1HQ
- 1234-456
- IT-12345
- 12345
到目前为止,我已尝试使用以下表达式,但它无法正常工作
(^[a-zA-Z0-9][^\s\-].*[^\s\-][a-zA-Z0-9]){0,8}
我需要在这里修改什么吗?
编辑
此处发布的解决方案不接受字符串中一个空格和一个连字符的组合。
请提供一个能同时支持所有要求的表达式。
【问题讨论】:
-
是的,你知道。根据您当前的 RegExp,
A1.B2.C3.D4.E5有效。 -
(?=.*{0,10})[a-z0-9]+(?:[-\s][a-z0-9]+)? -
@AnirbanSenChowdhary 发布“此处发布的解决方案不接受...”是轻描淡写的,特别是对于拥有 2k+ 代表的人。你不认为你应该提供一个测试用例以及你正在使用的代码吗?我相信您目前的代码有问题,而不是正则表达式。
标签: javascript jquery regex regular-language