我试着在Javascript中定义一个正则表达式,它可以接受空格、点、双点和破折号等分隔符。我的正则表达式在没有分隔符的情况下工作,但当我添加空格或其他分隔符时,它就不工作了。
我得说清楚:这个正则表达式用于法国电话号码(0123456789或01.23.45.56.78或0123456789,...)。2同样,这个正则表达式可以接受“+33”来替换第一个“0”。
这是我的正则表达式
var regex = /^(0|\+33)[1-9]([-.: ]?[0-9]{2}){4}$/;
谁能告诉我出什么事了?
3条答案
按热度按时间bn31dyow1#
谢谢大家的快速回答!
所以正如Wiktor Stribiew所说,我的正则表达式很好!(谢谢你的链接,我不知道这个网站).
我已经尝试了很多事情,所以很抱歉很晚才回复,但我已经找到了我的错误在哪里!
我的函数是下一个(由onblur调用):
surligne()
是我用来改变输入文本颜色的函数,当我写01.23.45.67.89时,我的文本是绿色的,但是当我写01.23.45.67.89时,我的文本是红色的。但是我的错误不在JavaScript中...我的错误在这里,在我的HTML中:
type="number"
只接受数字和“e”字母。所以,我把类型改为“文本”,现在它可以工作了!谢谢大家的回答!祝你有愉快的一天!
63lcw9qa2#
这是可行的:
解释可用here
az31mfrm3#
只需在
[-.: ]
之后添加*
,通过此更改,您将支持部件之间的多个空格。