Sunday, January 17, 2010

How do I break this script

(function () {
var h = {
userName: "4-12\u4e2a\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf",
userNameMin: "\u4e0d\u80fd\u5c0f\u4e8e4\u4e2a\u5b57",
userNameMax: "\u4e0d\u80fd\u8d85\u8fc712\u4e2a\u5b57",
userNameExist: "\u8be5\u7528\u6237\u540d\u5df2\u88ab\u6ce8\u518c\u4e86\uff0c\u8bf7\u6362\u6362",
userNameInvalid: "\u53ea\u652f\u6301\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf",
userNameStartInvalid: "\u7528\u6237\u540d\u4e0d\u80fd\u4ee5\u4e0b\u5212\u7ebf\u5f00\u5934",
nickName: "6\u4f4d\u4ee5\u5185\u4e2d\u6587\u621612\u4f4d\u4ee5\u5185\u82f1\u6587\u5b57\u7b26",
nickNameMin: "\u4e0d\u80fd\u5c0f\u4e8e1\u4e2a\u5b57",
nickNameMax: "\u4e0d\u80fd\u8d85\u8fc76\u4e2a\u6c49\u5b57\u621612\u4e2a\u82f1\u6587\u5b57\u7b26",
nickNameExist: "\u8be5\u540d\u5b57\u5df2\u88ab\u5360\u7528\uff0c\u8bf7\u6362\u6362",
nickNameInvalid: "\u53ea\u652f\u6301\u4e2d\u6587\u3001\u5b57\u6bcd\u6216\u6570\u5b57\uff0c\u4e0d\u652f\u6301\u7a7a\u683c\u548c\u7279\u6b8a\u7b26\u53f7",
nickNameError: "\u540d\u5b57\u4e2d\u542b\u6709\u8fdd\u7981\u8bcd\uff0c\u8bf7\u4fee\u6539\uff0c\u671b\u8c05\u89e3",
password: "6-16\u4f4d\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf",
passwordMin: "\u4e0d\u80fd\u5c0f\u4e8e6\u4e2a\u5b57\u7b26",
passwordMax: "\u4e0d\u80fd\u8d85\u8fc716\u4e2a\u5b57\u7b26",
passwordInvalid: "\u53ea\u652f\u6301\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf",
password1: "\u8bf7\u518d\u786e\u8ba4\u4e00\u6b21\u4f60\u8f93\u5165\u7684\u5bc6\u7801",
password1Invalid: "\u4e24\u6b21\u5bc6\u7801\u8f93\u5165\u4e0d\u4e00\u81f4",
email: "\u8bf7\u8f93\u5165\u4f60\u5e38\u7528\u7684Email",
emailExist: "\u8be5Email\u5df2\u88ab\u6ce8\u518c",
emailInvalid: "Email\u683c\u5f0f\u4e0d\u6b63\u786e",
sex: "\u8bf7\u9009\u62e9\u4f60\u7684\u6027\u522b",
validateCode: "\u8bf7\u8f93\u5165\u56fe\u50cf\u4e2d\u7684\u6587\u5b57",
validateCodeInvalid: "\u9a8c\u8bc1\u7801\u9519\u8bef",
loading: '<img align="absmiddle" alt="" src="http://images.digu.com/web_res_v1/images/ico_loading16.gif" /> \u6b63\u5728\u68c0\u67e5\u552f\u4e00\u6027',
checkCode: '<img align="absmiddle" alt="" src="http://images.digu.com/web_res_v1/images/ico_loading16.gif" /> \u6b63\u5728\u68c0\u67e5\u9a8c\u8bc1\u7801',
ok: '<img align="absmiddle" alt="ok" src="http://images.digu.com/web_res_v1/images/ico_valid.gif" />',
required: "\u5fc5\u586b"
},
a = 4,
j = 12,
e = 1,
k = 12,
r = 6,
x = 16,
l = "/jump?aid=reg_validate",
d = true,
o = true,
B = true;
var p = $("#userName"),
D = $("#nickName"),
c = $("#password"),
s = $("#password1"),
z = $("#email"),
q = $('input[name="sex"]'),
i = $("#validateCode"),
b = {};
b[p.attr("id")] = u(p),
b[D.attr("id")] = u(D),
b[c.attr("id")] = u(c),
b[s.attr("id")] = u(s),
b[z.attr("id")] = u(z),
b[q.attr("name")] = u(q),
b[i.attr("id")] = u(i);

function t(E) {
var G = A(E.val()),
F = b[E.attr("id")];
if (G.length < a) {
F.showErr(h.userNameMin)
} else {
if (G.length > j) {
F.showErr(h.userNameMax)
} else {
if (!/^([a-z]|[A-Z]|[0-9])[0-9a-zA-Z_]+$/.test(G)) {
F.showErr(h.userNameStartInvalid)
} else {
if (!g(G)) {
F.showErr(h.userNameInvalid)
} else {
if (w(G)) {
F.showErr(h.userNameExist)
} else {
F.showTips(h.loading);
$.getJSON(l, {
tag: "userName",
userName: G
},


function (H) {
if (H.result == "successName") {
F.showOk(h.ok);
d = true
} else {
if (H.result == "existName") {
F.showErr(h.userNameExist);
d = false
}
}
})
}
}
}
}
}
}
function w(F) {
var E = /^(1[3|5|8][0-9]{9})$/;
return E.test(F)
}
function v(E) {
var G = A(E.val()),
F = b[E.attr("id")];
if (!n(G)) {
F.showErr(h.nickNameInvalid)
} else {
if (C(G) < e) {
F.showErr(h.nickNameMin)
} else {
if (C(G) > k) {
F.showErr(h.nickNameMax)
} else {
F.showTips(h.loading);
$.getJSON(l, {
tag: "nickName",
nickName: G
},


function (H) {
if (H.result == "successNickName") {
F.showOk(h.ok);
o = true
} else {
if (H.result == "repeatNickName") {
F.showErr(h.nickNameExist);
o = false
} else {
if (H.result == "errorNickName") {
F.showErr(h.nickNameError);
o = false
}
}
}
})
}
}
}
}
function u(F) {
var E = F.parents("tr").find(".tips-box");
return {
showTips: function (G) {
F.addClass("reg-ipt-focus");
E.removeClass("tips-box-err").removeClass("tips-box-ok").html(G).show()
},
showErr: function (G) {
F.addClass("reg-ipt-focus");
E.addClass("tips-box-err").removeClass("tips-box-ok").html(G).show()
},
showOk: function (G) {
F.addClass("reg-ipt-focus");
E.addClass("tips-box-ok").removeClass("tips-box-err").html(G).show()
},
hide: function () {
F.removeClass("reg-ipt-focus");
E.hide()
}
}
}
function g(F) {
var E = new RegExp("^[A-Za-z0-9_]+$");
return F.match(E)
}
function n(F) {
var E = /^([0-9a-zA-Z\u4E00-\u9FA5])+$/;
return E.test(F)
}
function C(H) {
var G = 0;
var F = /([\u4E00-\u9FA5])/;
for (var E = 0; E < H.length; E++) {
if (F.test(H.charAt(E))) {
G += 2
} else {
G++
}
}
return G
}
function y(E) {
return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(E)
}
function m(E) {
return E.replace(/(^\s*)/g, "")
}
function f(E) {
return E.replace(/(\s*$)/g, "")
}
function A(E) {
return f(m(E))
}
$("#regForm").submit(function () {
var E = true;
if (p.val() == "") {
b[p.attr("id")].showErr(h.required);
E = false
}
if (D.val() == "") {
b[D.attr("id")].showErr(h.required);
E = false
}
if (c.val() == "") {
b[c.attr("id")].showErr(h.required);
E = false
}
if (s.val() == "") {
b[s.attr("id")].showErr(h.required);
E = false
}
if (c.val().toLowerCase() != s.val().toLowerCase()) {
b[s.attr("id")].showErr(h.password1Invalid);
E = false
}
if (z.val() == "") {
b[z.attr("id")].showErr(h.required);
E = false
}
if (i.val() == "") {
b[i.attr("id")].showErr(h.required);
E = false
}
if (q.filter(":checked").length == 0) {
b[q.attr("name")].showErr(h.required);
E = false
}
return E
});
$(".reg-ipt").focus(function () {
b[this.id].showTips(h[this.id])
}).blur(function () {
if ($(this).val() == "") {
b[this.id].hide()
}
});
p.blur(function () {
if ($(this).val() != "") {
t($(this))
}
}).keyup(function () {
$("#userDomain").text($(this).val())
});
D.blur(function () {
if ($(this).val() != "") {
v($(this))
}
});
c.keyup(function () {
if (c.val() != "") {
$("#confirmPwd").show()
} else {
$("#confirmPwd").hide()
}
}).blur(function () {
var F = $(this).val(),
E = b[this.id];
if (F != "") {
if (F.length < r) {
E.showErr(h.passwordMin)
} else {
if (F.length > x) {
E.showErr(h.passwordMax)
} else {
if (!g(F)) {
E.showErr(h.passwordInvalid)
} else {
E.showOk(h.ok)
}
}
}
}
});
s.blur(function () {
var F = $(this).val(),
E = b[this.id];
if (F.toLowerCase() != c.val().toLowerCase()) {
E.showErr(h.password1Invalid)
} else {
E.showOk(h.ok)
}
});
z.blur(function () {
var F = A($(this).val()),
E = b[this.id];
if (F != "") {
if (!y(F)) {
E.showErr(h.emailInvalid)
} else {
E.showTips(h.loading);
$.getJSON(l, {
tag: "email",
email: F
},


function (G) {
if (G.result == "emailSuccess") {
E.showOk(h.ok);
B = true
} else {
if (G.result == "notOnly") {
E.showErr(h.emailExist);
B = false
}
}
})
}
}
});
q.click(function () {
var E = b[q.attr("name")];
if (q.filter(":checked").length > 0) {
E.showOk(h.ok)
}
});
i.blur(function () {
var F = $(this).val(),
E = b[this.id];
if (F.length != 4) {
E.showErr(h.validateCodeInvalid)
} else {
E.showTips(h.checkCode);
$.getJSON(l, {
tag: "code",
code: F
},


function (G) {
if (G.result == "codeSuccess") {
E.showOk(h.ok)
} else {
if (G.result == "errorCode") {
E.showErr(h.validateCodeInvalid)
}
}
})
}
});
$("#changeImgCode").click(function () {
$("#imgCode").attr("src", "/index/image.jsp?" + (new Date).getTime());
i.val("");
return false
})
})();

No comments:

Post a Comment