我正在尝试使用PHP中的preg_match来匹配电话号码格式,但我无法取得成功。
我想要匹配的电话号码格式是:
+ 92XXXXXXXXXX
前三个字符应该是+92,其余剩余的应该是10,并且应该是0到9之间的数字。这是我正在尝试但无法匹配的内容:
preg_match('/^[+92]{3}[0-9]{10}$/',$phone_number) )
有什么建议吗?
感谢。
答案 0 :(得分:2)
您可以尝试使用:
<script type="text/javascript">
var url = 'localhost:8080/chartGenerator';
function myFunction() {
var docDef={ content: [
'This is an sample PDF printed with pdfMake',
{
image: getBinaryResource(url)
}
]
}
pdfMake.createPdf(docDef).download('optionalName.pdf');
}
function getBinaryResource(url){
var req = new XMLHttpRequest();
req.open("GET", url, false);
req.overrideMimeType('text/plain; charset=x-user-defined');
req.send(null);
if (req.status == 200) {
return req.responseText.replace(/^data:image\/(png|jpg);base64,/, "");
} else return null
}
</script>
^(\+92\d{10})$
中的问题出现在^[+92]{3}[0-9]{10}$
中。你正在做的是说[+92]
三次匹配。因此,其中包括+,9,2
,+++
,999
,299
等案例。
要更正您的模式,请将29+
更改为[+92]{3}
。因此它将是:
\+92
答案 1 :(得分:0)
您的模式有效,机器人不是文字+92XXXXXXXXXX
- 数字代替X
它有效。但是,如果始终以+92开头,请将模式更改为:
^\+92[0-9]{10}$