我想检查一下文本是否包含电话号码。
Regex = /\d{6,}/;
这将连续检查 6 位数字,但电话号码也可以包含空格、+、(、)、-、。和斜线...
我将如何检查任何类型的电话号码?
我想检测这些形式的数字:
+49 123 456789
0049 123456789
(040) 132 45 67
040/123 456
040-132-12
040 123456
+49 (0)40-123456
我想检查一下文本是否包含电话号码。
Regex = /\d{6,}/;
这将连续检查 6 位数字,但电话号码也可以包含空格、+、(、)、-、。和斜线...
我将如何检查任何类型的电话号码?
我想检测这些形式的数字:
+49 123 456789
0049 123456789
(040) 132 45 67
040/123 456
040-132-12
040 123456
+49 (0)40-123456
并非 100% 有可能满足所有情况,您可能必须根据需要对其进行调整,但例如,这个正则表达式就可以完成这项工作:
var Regex = /\b[\+]?[(]?[0-9]{2,6}[)]?[-\s\.]?[-\s\/\.0-9]{3,15}\b/m;
这是一个示例,它是如何工作的:
function check_for_phone(){
var message = document.getElementById("a").value;
var Regex = /\b[\+]?[(]?[0-9]{2,6}[)]?[-\s\.]?[-\s\/\.0-9]{3,15}\b/m;
alert( Regex.test(message) );
// This will alert 'true' if the textarea contains a phonenumber
}
<textarea id="a">please call me: 040 12345</textarea>
<input type="button" onclick="check_for_phone()" value="check for telephone">
这不可能不可行。世界各地的电话号码有太多不同的长度和格式。相反,您应该专注于您愿意接受的格式/长度的某个子集。
如果这仍然给您留下太多选择,您可能只需要像这样进行简单的检查:
0-9
+
[space]