[英]Phone number regex
我想检查正则表达式,如果它不匹配警报“无效”,但我的问题是正则表达式不起作用
$("#SendPhone").click(function() {
var phonePattern = /(0|\+98)?([ ]|-|[()]){0,2}9[1|2|3|4]([ ]|-|[()]){0,2}(?:[0-9]([ ]|-|[()]){0,2}){8}/;
if ($("#PhoneField").val() == '' || !$("#PhoneField").match(phonePattern) == false) {
alert("it is invalid")
}
}
我在纯 javascript 中使用此代码工作,但在 jquery 中不起作用
这是整个 jquery 代码片段:
<script>
$(document).ready(function() {
$("#SendPhone").click(function() {
var phonePattern = /(0|\+98)?([ ]|-|[()]){0,2}9[1|2|3|4]([ ]|-|[()]){0,2}(?:[0-9]([ ]|-|[()]){0,2}){8}/;
if ($("#PhoneField").val() == '') {
alert("it is invalid")
}
var phoneField = $("#PhoneField").val();
$.ajax({
type:'post',
url:'insert.php',
data:{'phoneField':phoneField},
success:(function (response) {
})
})
$.ajax({
type:'post',
url:'show.php',
data:{},
success:(function (response) {
$("#CodeField").val(response);
})
})
});
});
如果您确定您的正则表达式是正确的,那么您需要按如下方式更改您的代码( match
字符串方法不返回布尔值,它是带有匹配项的数组或null
):
$("#SendPhone").click(function() {
var phonePattern = /(0|\+98)?([ ]|-|[()]){0,2}9[1|2|3|4]([ ]|-|[()]){0,2}(?:[0-9]([ ]|-|[()]){0,2}){8}/;
if ($("#PhoneField").val() == '' || !$("#PhoneField").match(phonePattern)) {
alert("it is invalid");
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.