Javascript 如何使用html模式验证澳大利亚电话号码

Javascript 如何使用html模式验证澳大利亚电话号码,javascript,php,regex,html,Javascript,Php,Regex,Html,在PHP中,我可以使用PHP正则表达式从输入中轻松验证澳大利亚电话号码 我使用的正则表达式是: /^\({0,1}((0|\+61)(2|4|3|7|8)){0,1}\){0,1}(\ |-){0,1}[0-9]{2}(\ |-){0,1}[0-9]{2}(\ |-){0,1}[0-9]{1}(\ |-){0,1}[0-9]{3}$/ 澳大利亚数字 // Valid var phoneNumber1 = "0411 234 567"; var phoneNumber2

在PHP中,我可以使用PHP正则表达式从输入中轻松验证澳大利亚电话号码

我使用的正则表达式是:

/^\({0,1}((0|\+61)(2|4|3|7|8)){0,1}\){0,1}(\ |-){0,1}[0-9]{2}(\ |-){0,1}[0-9]{2}(\ |-){0,1}[0-9]{1}(\ |-){0,1}[0-9]{3}$/
澳大利亚数字

    // Valid
    var phoneNumber1 = "0411 234 567";
    var phoneNumber2 = "(02) 3892 1111";
    var phoneNumber3 = "38921111";
    var phoneNumber4 = "0411234567";

    // Invalid
    var phoneNumber5 = "3892 11";
    var phoneNumber6 = "diane 0411 234 567";
    var phoneNumber7 = "bob";
我尝试使用相同的正则表达式在客户端使用HTML5模式属性进行验证,但并没有得到期望的结果


在HTML5中使用上述正则表达式时,有人能帮我找出它的错误吗?如果有人能推荐模仿HTML5表单验证的javascript解决方案,我会非常感激,因为这只是空间的逃逸,不需要。不知道为什么逃离空间是个问题。但无论如何,这似乎是可行的

你甚至会注意到我创建的数据列表中有无效的数据,但它甚至没有出现在下拉列表中


试验

如果您提供一些示例,展示模式,您可能会得到更多帮助,因为并非所有人都来自澳大利亚。使用您提供的示例,刚刚用Javascript测试似乎有效。实际上,我需要模拟HTML5表单验证。我知道
pattern
attribute可以做到这一点,但从Javascript我不知道。如果我能得到HTML5的模式,我会很感激。你能分享做这件事的JS代码吗?