
仿通行证盛大注册页面
/*保存为input.js*/--------------------------------------------------------------------------------------------------------------------------------------------------------------------
var mobileTipToOverseas = '<span class="phoneerrortip">请输入11位手机号码</span>';
var mobileTipToChina = '这不是中国大陆手机号码,请联系客服';
$(function () {
$("#Mobile").bind("keydown keyup", function (e) {
$("#IdentifyingCode").val('');
if (!$("#btn_getCode").hasClass("smscodesendloop")) {
var em = e.target.value;
if (!/^s*$/.test(em) && !/D+/.test(em) && /^0*(13|15|18|14)d{9}$/.test(em)) {
var PhoneNumber=$("#Mobile").val();
$.get("index.php?user", { q: "action/checkPhoneNumber", PhoneNumber: PhoneNumber},function (result){
if ( result == true ){
$("#MobileTip").find(".tipsInfo").html("可以注册!");
$("#btn_getCode").text('免费获取验证码');
$('#btn_getCode').removeClass("wait");
$('#btn_getCode').addClass("smscodesendloop");
}
else{
$("#MobileTip").find(".tipsInfo").html("手机号码已存在");
}
});
}
else {
$("#MobileTip").find(".tipsInfo").html(mobileTipToOverseas);
$("#btn_getCode").text('免费获取验证码');
$('#btn_getCode').addClass("wait");
}
}
else {
if (!$("#btn_getCode").hasClass("smscodesendloop")) {
$('#btn_getCode').addClass("smscodesendloop");
}else{
var em = e.target.value;
if (!/^s*$/.test(em) && !/D+/.test(em) && /^0*(13|15|18|14)d{9}$/.test(em)) {
}else{
$('#btn_getCode').removeClass("smscodesendloop");
$("#MobileTip").find(".tipsInfo").html(mobileTipToOverseas);
$("#btn_getCode").text('免费获取验证码');
$('#btn_getCode').addClass("wait");
}
}
}
})
//=====================================================================
// 验证框架
//=====================================================================
$.Valid = {
//@param obj Object 验证逻辑 键名为错误提示,键值为验证函数,函数的传参为当前INPUT元素,返回true显示错误提示
//逐个验证表单的每个域
//@param root Element|String 为表单元素或表单的CSS表达式
//@param name String INPUT等元素的name属性,同时要求它拥有一个同名的类名,为了方便显示提示信息,
//@callbacks name Object 回调对象,可以存在error或者success方法
//此元素下拥有一个类名为tips的DIV,里面拥有三种提示
/* <div class="inputBox">
<span class="inputLabel">立即可见的提示信息</span>
<input class="username" name="username" tabindex="10" />
</div>
<div class="tips" id="usernameTip">
<p class="tipsInfo">获得焦点或输入时的提示信息</p>
<p class="tipsError">失去焦点验证失败的错误信息</p>
<p class="tipsSuc">失去焦点验证成功的信息——通常表现为一个绿勾</p>
</div>
*/
check: function (root, name, obj, callbacks) {
$(root).delegate("." + name, "blur", function () {
if ($.Valid.isNeedCheck) {
var ok = true;
for (var msg in obj) {
if (obj[msg](this)) {
$.Valid.handleTip(this, "#" + name + "Tip", 0, msg, callbacks);
ok = false;
break;
}
}
if (ok) {
$.Valid.handleTip(this, "#" + name + "Tip", 1, msg, callbacks);
}
$.Valid.handlePlaceHoder(this, false);
}
}).delegate("." + name, "focus", function () {
//清空所有提示,以便重新验证
$.Valid.handleTip(this, "#" + name + "Tip", 2);
$.Valid.handlePlaceHoder(this, true);
})
},
isNeedCheck: true,
//注意,当我们发出最后提交时,看一下$.des是否为空,不为空说明还有验证没通过
nodes: [],
//处理placehoder的显示隐藏与样式,获得焦点时会变浅
handlePlaceHoder: function (node, focus) {
var placehoder = $(node).parent().children(".inputLabel")
var parent = $(node).parent()
if (typeof (node.value) != "undefined" && node.value.length) {
//如果有文字,则隐藏placehoder
placehoder.addClass("inputLabelHide");
} else {
//如果没有文字,则显示placehoder
veClass("inputLabelHide");
}
if (focus) {
//将提示信息的颜色变浅
parent.addClass("inputFocus");
} else {
//将提示信息的颜色变深
veClass("inputFocus");
}
},
//用于显示错误提示
//HTML 格式 <div class="l tips"><em id="err-intro"></em></div>
//@param input 需要验证的INPUT元素
//@param id 装载各种提示信息的容器的ID
//@param status