繁体   English   中英

澳大利亚电话号码验证

[英]Australian Phone Number Validation

我有一个网络表单,该表单只应接受有效的澳大利亚电话号码。 尽管parsley.js文件无法识别澳大利亚数字格式,但我在电话字段上有data-type="phone" 我试图编辑parsley.js文件,但没有成功。 有人有接受澳大利亚数字格式的代码吗? 如果失败,如何将电话号码字段设置为必填数字字段,并且该字段也接受空格和至少8位数字? data-type"digit"似乎不允许有任何空格。

如果您想使用所有HTML5,请查看以下小提琴: http : //jsfiddle.net/bud68oho/2/

该小提琴使用requiredpattern属性来验证表单。 如果未填写输入,则required属性不允许表单发布pattern属性允许您实现用于匹配的正则表达式。 如果输入不符合正则表达式的要求,则该表单将不会发布。

使用此方法的唯一陷阱是浏览器兼容性。 确保使用目标浏览器测试此方法。 上面的示例适用于最新版本的IE和Chrome,我无法进行任何进一步的测试。

我写了一个小代码段。 http://plnkr.co/edit/InZyHRexEJ0fMdvrAAZK?p=preview

我在编写此模式时要牢记电话格式为“ +61012341234”。 如果需要,可以在模式中使用空格。

如果要在输入值后进行验证,则可以在文本框的“ onblur”事件上调用此函数。

接受8位数字和空格的正则表达式为

如果+61是强制性的,则regExp可以为“ / ^(+ 61)[0-9] {8,12} $ /”,否则为“ / ^ [0-9] {8,12} $ /”。

最小为8,最大为12个数字(包括空格)。

HTML代码

<body>    
<input type="text" id="phNo">
<span id="demo"></span>
<button onclick="validateFields()">Validate</button>
</body>

JS

function validateFields() {

var str = document.getElementById("phNo").value;

var patt = /^(\+61)[0-9]{1}[0-9]{4}[0-9]{4}$/;
var res = patt.test(str);
var temp = "corect phone mnumber.";
 if(res!=true){
   temp = "wrong phone mnumber.";
 }else{
   //here you can post the data from script.
 }
document.getElementById("demo").innerHTML = temp;
}

如果未满足要求,请告诉我。 我会尽力的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM