谢谢大家的快速回答!
正如 Wiktor Stribiżew 所说,我的正则表达式很好!(谢谢你的链接,我不知道这个网站)。
我已经尝试了很多东西,对于迟到的回复感到抱歉,但我发现我的错误在哪里!
我的函数是下一个(由 onblur 调用):
function verifTel(champ) {
var regex = /^(0|\+33)[1-9]([-.: ]?[0-9]{2}){4}$/;
if(!regex.test(champ.value)) {
surligne(champ, true);
return false;
} else {
surligne(champ, false);
return true;
}
}
surligne()
是我更改输入文本颜色的函数。当我写 0123456789 时,我的文本是绿色的,但是当我写 01.23.45.67.89 时,我的文本是红色的。
但我的错误不在 JavaScript 中......我的错误在这里,在我的 HTML 中:
<input id="tel" type="number" placeholder="Téléphone" required onblur="verifTel(this)">
type="number"
只接受数字和“e”字母。所以,我已将类型更改为“文本”,现在它可以工作了!
谢谢大家的回答!祝你今天过得愉快!