我想通过JavaScript RegEx检查手机号码输入,但我在构建正确的查询时遇到了困难。我想要的只是验证手机号码。我要求的格式是: 5(0/3/4)X XXX XXXX 包括空格。
例如; 532 123 4567将有效 532 1234567无效。也 458 123 4567无效。
澄清规则是:
根据以下规则跟随任何数字:
单一空间
我使用的代码如下:
function isPhone(phone) {
var pattern = [PATTERN HERE];
return pattern.test(phone);
}
我应该使用哪种模式进行验证?
问候。
答案 0 :(得分:0)
符合您确切规则的简单正则表达式是:
^5(0[5-7]|[3-5]\d) ?\d{3} ?\d{4}$
请注意,如果您要验证用户输入,则应允许任何可用的输入而无需格式化。在这种情况下,您应该使空格可选:
Delete from Students where group_id=(Select group_id from groups where name_group='ISI');
答案 1 :(得分:0)
您需要 the regex :
/^5(0[5-7]|[3-5]\d)\s\d{3}\s\d{4}$/gm
这应该是你的功能:
function isPhone(phone) {
var pattern = /^5(0[5-7]|[3-5]\d)\s\d{3}\s\d{4}$/gm;
return pattern.test(phone);
}
<强>演示:强>
const regex = /^5(0[5-7]|[3-5]\d)\s\d{3}\s\d{4}$/gm;
const str = `532 123 4567
509 457 5879
551 123 1478
532 1234567
458 123 4567
`;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}