Javascript 用于验证手机号码的正则表达式
我使用正则表达式在Javascript中验证手机号码 我的条件是:Javascript 用于验证手机号码的正则表达式,javascript,jquery,regex,Javascript,Jquery,Regex,我使用正则表达式在Javascript中验证手机号码 我的条件是: 手机号码可以以+60或+63或+62或+66或0开头 手机号码的长度在9到13之间 我已尝试使用以下代码: ^(?:\+60|+63|+62|+66|0)[. ()-]*(?:\d[. ()-]*){10,11,12,13}$/; 但我没有明白 手机号码示例如下: +601126314441 01126342542 +631124445675 +661124445675 +621124445675 +60111243236 +
^(?:\+60|+63|+62|+66|0)[. ()-]*(?:\d[. ()-]*){10,11,12,13}$/;
但我没有明白
手机号码示例如下:
+601126314441
01126342542
+631124445675
+661124445675
+621124445675
+60111243236
+62105273214
0105273214
像这样更新您的正则表达式:
/^(\+60|\+63|\+62|\+66|0)\d{9,13}$/gm
在www.jsregex.com上验证(别忘了检查全局和多行选项)
Javascript:
var reg=/(\+60 |\+63 |\+62 |\+66 | 0)\d{9,13}/m;
变量编号=[“+601126314441”、“01126342542”、“+631124445675”、“+661124445675”、“+621124445675”、“+60111243236”、“+62105273214”、“0105273214”];
var匹配=[];
对于(变量i=0;i
您可以使用本例中的regexp-
$a = array(
'+601126314441',
'01126342542',
'+631124445675',
'+6611244-45675',
'+621124445675',
'+60111243236',
'+62105273214',
'01052-73214',
);
foreach($a as &$phone) {
echo $phone . ' -> ';
if (preg_match('/^(?:\+60|\+63|\+62|\+66|0)[0-9-]{9,13}$/', $phone)) {
echo 'PASS';
} else {
echo 'FAIL';
}
echo PHP_EOL;
}
在php中,这将输出以下内容:
+601126314441 -> PASS
01126342542 -> PASS
+631124445675 -> PASS
+6611244-45675 -> PASS
+621124445675 -> PASS
+60111243236 -> PASS
+62105273214 -> PASS
01052-73214 -> PASS
如果代码长度包括完整的手机号码,您可以尝试
/^(\+6[0236]\d{7,11})|(0\d{8,12})$/
如果+
也包含在数字长度中,则
/^(\+6[0236]\d{6,10})|(0\d{8,12})$/
否则试试
/^(\+6[0236]|0)\d{9,13}$/
嗯,有趣:)
Java脚本代码:
// your regex pattern to check mobile number
var mobRegex = /^(\+60|\+63|\+62|\+66|0)\d{9,13}$/;
// empty array
var validMobile = [];
// some sample numbers to check
var mobileCollection = [
'+60123456789',
'+691234567891',
'+6012345678912',
'+60123456789123',
'+601234567891234',
'+63123456789',
'+631WE234567891',
'+6312345678912',
'+63123456789123',
'+6312 34567891234',
'+62123456789',
'+621234567891',
'+6212345678912',
'+62123456789123',
'+6212-34567891234',
'+66123456789',
'+661234567891',
'+6612345678912',
'+66123456789123',
'+661234OP7891234',
'0123456789',
'01234567891',
'+9112445678912',
'0123456789123',
'01234567891234'
];
// check every number and file right one
for (var i = 0; i < mobileCollection.length; i++) {
if (mobRegex.test(mobileCollection[i])) {
validMobile.push(mobileCollection[i]);
}
}
// alert all valid mobile number
alert(validMobile.toString());
// here is output
+60123456789,+6012345678912,+60123456789123,+601234567891234,+63123456789,
+6312345678912,+63123456789123,+62123456789,+621234567891,+6212345678912,
+62123456789123,+66123456789,+661234567891,+6612345678912,+66123456789123,
0123456789,01234567891,0123456789123,01234567891234
//检查手机号码的正则表达式模式
var mobRegex=/^(\+60 \+63 \+62 \+66 \+0)\d{9,13}$/;
//空数组
var validMobile=[];
//一些要检查的样本编号
var mobileCollection=[
'+60123456789',
'+691234567891',
'+6012345678912',
'+60123456789123',
'+601234567891234',
'+63123456789',
“+631WE234567891”,
'+6312345678912',
'+63123456789123',
'+6312 34567891234',
'+62123456789',
'+621234567891',
'+6212345678912',
'+62123456789123',
'+6212-34567891234',
'+66123456789',
'+661234567891',
'+6612345678912',
'+66123456789123',
“+661234OP7891234”,
'0123456789',
'01234567891',
'+9112445678912',
'0123456789123',
'01234567891234'
];
//检查每个号码,并将其归档
对于(var i=0;i
这可能有助于您发布一个应该匹配但不匹配的数字示例?或者是一个号码不匹配的例子,但应该更新手机号码。@GuntramBlohm@PravinKumar只有这个条件?或者其他类似方括号的东西?那么试试这个/(\+60 |\+63 |\+62 |\+66 | 0)\d{9,13}/
这个regexp,如果匹配的数字以+6[0236]开头,它将包含11到15个数字,如果它以0开头,则包含10到14个数字。您应该修改\d{9,13}部分。@Valentin可能不包括mobile的代码长度length@Grundy需求不够明确,无法确定,这是真的:)是的,我只是根据他最初的数字,我相信他可以调整它来计算正确的数字。不幸的是我对这些电话号码分配一无所知哈哈
/^(\+6[0236]|0)\d{9,13}$/
// your regex pattern to check mobile number
var mobRegex = /^(\+60|\+63|\+62|\+66|0)\d{9,13}$/;
// empty array
var validMobile = [];
// some sample numbers to check
var mobileCollection = [
'+60123456789',
'+691234567891',
'+6012345678912',
'+60123456789123',
'+601234567891234',
'+63123456789',
'+631WE234567891',
'+6312345678912',
'+63123456789123',
'+6312 34567891234',
'+62123456789',
'+621234567891',
'+6212345678912',
'+62123456789123',
'+6212-34567891234',
'+66123456789',
'+661234567891',
'+6612345678912',
'+66123456789123',
'+661234OP7891234',
'0123456789',
'01234567891',
'+9112445678912',
'0123456789123',
'01234567891234'
];
// check every number and file right one
for (var i = 0; i < mobileCollection.length; i++) {
if (mobRegex.test(mobileCollection[i])) {
validMobile.push(mobileCollection[i]);
}
}
// alert all valid mobile number
alert(validMobile.toString());
// here is output
+60123456789,+6012345678912,+60123456789123,+601234567891234,+63123456789,
+6312345678912,+63123456789123,+62123456789,+621234567891,+6212345678912,
+62123456789123,+66123456789,+661234567891,+6612345678912,+66123456789123,
0123456789,01234567891,0123456789123,01234567891234