我用这个正则表达式来验证巴西手机:可能包含8或9个数字的正则表达式 - 如何操作?
/^(\([0-9]{2}\))\s([9]{1})?([0-9]{4})-([0-9]{4})$/
输出:(31) 8876-3234
VALID
但是圣保罗状态具有9个数字蜂窝电话:
输出SP:(31) 98876-3234
当前正则表达式需要调整以接受也是有效的,a提示我应该改变什么?
我用这个正则表达式来验证巴西手机:可能包含8或9个数字的正则表达式 - 如何操作?
/^(\([0-9]{2}\))\s([9]{1})?([0-9]{4})-([0-9]{4})$/
输出:(31) 8876-3234
VALID
但是圣保罗状态具有9个数字蜂窝电话:
输出SP:(31) 98876-3234
当前正则表达式需要调整以接受也是有效的,a提示我应该改变什么?
您可以使用{m,n}
量词来创建范围:
/^(\([0-9]{2}\))\s([0-9]{4,5})-([0-9]{4})$/
虽然你的正则表达式似乎要被罚款,因为它有一个可选的9
4个位数之前相匹配。但是,如果有任何可能的地方,除了9
之外,你可以使用这个正则表达式。
该死的,我怎么会在我的搜索中错过? >。>非常感谢! - 在10分钟内接受答案 – 2013-02-21 19:29:14
@ user2056484。不客气:) – 2013-02-21 19:30:30
在一个非相关话题中,你知道一个简单的方法:当我点击一个被屏蔽的输入字段(带有预定义的字段)时,总是转到第一个字符而不是从中间开始它? – 2013-02-21 19:31:43
该正则表达式已经匹配额外的领先9. – 2013-02-21 19:28:13
适用于我没有任何改变。 http://regexr.com?33s2j – Achrome 2013-02-21 19:28:16
顺便说一句,你可以使用'\ d'而不是'[0-9]'来简化你的正则表达式。另外'[9] {1}'是一个只包含一个字符并且重复一次的字符类,就像只写'9'一样。 – matts 2013-02-21 19:30:22