安娜玛莱
我正在尝试使用以下正则表达式验证日本电话号码
var pattern= /^[0-9-]{10,13}$/i;
它应该只允许以下格式
- 1234567890
- 123-456-7890
- 12-3456-7890
- 123-4567-8901
但是当我尝试它返回真
var phone_pattern = /^[0-9-]{10,13}$/i;
var value='-----------';
alert(phone_pattern.test(value));
亚伦
如果您希望它易于理解,我将使用4种可能模式的替代方式:
^(?:\d{10}|\d{3}-\d{3}-\d{4}|\d{2}-\d{4}-\d{4}|\d{3}-\d{4}-\d{4})$
根据regex101,这50个步骤将您的4个电话号码匹配。
如果您希望以可读性为代价提高效率,则可以将其分解:
^\d{2}(?:-\d{4}-\d{4}|\d{8}|\d-\d{3,4}-\d{4})$
根据regex101,这将以48个步骤与您的4个电话号码匹配。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句