我对英国电话号码进行了php验证,由我表格中的潜在客户提出。 它看起来像这样:
function phoneUK(phone){
var regex = /^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/i;
return regex.test(phone);
}
问题在于,在这种形式下,它只允许前面有0后跟10位数字(0XXXX XXXXXX
)的电话号码,而且最近还有前导零后11位数字的合法电话号码。
如何更改代码以便允许使用这些类型的电话号码?
答案 0 :(得分:0)
试试这个:
function phoneUK(phone){
var regex = /^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{2}\)?\s?\d{5}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{3}\)?\s?\d{4}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3}|\d{4}\s?\d{3})|\d{5}\)?\s?\d{4,5}|\d{5,6}\)?\s?\d{4,6})$/i;
return regex.test(phone);
}
希望这有帮助。