//检查电子邮箱 $("#email").blur(function() { var reg = /^[\w.\-]+@(?:[a-z0-9]+(?:-[a-z0-9]+)*\.)+[a-z]{2,6}$/; if ($("#email").val() !== "" && !reg.test($("#email").val())) { $("#email1").html("邮件格式不正确!"); $("#okemail").hide(); return false; } $.post('{:U("Register/checkEmail")}', $("#register").serialize(), function(str) { str = $.trim(str); $("#email1").html("" + str + ""); $("#okemail").hide(); if (!str) { email = 1; $("#okemail").show(); } }); });
请教一下,
注册用户时,email老是验证不过去,
这个'{:U("Register/checkEmail")}'是什么东东?好像失效了,怎么才能使它正常运转?
回复讨论(解决方案)
{:U("Register/checkEmail")}
这个是THINKPHP框架的路由函数,你如果不是用的这个框架的话,肯定是失效报错的。
或者是$("#register").serialize()这句代码的问题?
好像验证通过了,邮箱格式也没错、没重复,文字框右边却还是感叹号,没有变成绿色打勾,
结果点击注册按钮一直提示“请填写完整注册信息”。
val = 'abc@example.com';
var pattern = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
return pattern.test(val);
val = 'abc@example.com';
var pattern = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
return pattern.test(val);
正则按照你这样改还是不行。
{:U("Register/checkEmail")}
这个是THINKPHP框架的路由函数,你如果不是用的这个框架的话,肯定是失效报错的。
是用THINKPHP框架没错。也没文字报错,就是右边一个感叹号,原因不明。
{:U("Register/checkEmail")}
这个是THINKPHP框架的路由函数,你如果不是用的这个框架的话,肯定是失效报错的。
是用THINKPHP框架没错。也没文字报错,就是右边一个感叹号,原因不明。 你应该只要提交表单里面的email到你的那个方法去进行验证即可不需要全部序列化后提交吧?还有救是提交的字段是否跟你获取的字段匹配?把这几个排查下,估计就能看出问题出在哪边了。