igi_orion_cignacmb
Version:
Censors words out of text
130 lines (119 loc) • 4.46 kB
JavaScript
var CentralValidator = require('./CentralValidator');
var input = $.extend({}, CentralValidator, {
validateName: function (value) {
var result = {
isCorrect: true,
type: "modal",
msg: "",
code: "",
isUse: true
};
var sizeof = function (str, charset) {
var total = 0,
charCode,
i,
len;
charset = charset ? charset.toLowerCase() : '';
if (charset === 'utf-16' || charset === 'utf16') {
for (i = 0, len = str.length; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode <= 0xffff) {
total += 2;
} else {
total += 4;
}
}
} else {
for (i = 0, len = str.length; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode <= 0x007f) {
total += 1;
} else if (charCode <= 0x07ff) {
total += 2;
} else if (charCode <= 0xffff) {
total += 3;
} else {
total += 4;
}
}
}
return total;
}
var isChina = function (s) {
var patrn = /[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/gi;
if (!patrn.exec(s)) {
return false;
} else {
return true;
}
}
var isEng = function (s) {
if (s.search(/[a-zA-Z]+/) == -1) {
return false;
} else {
return true;
}
}
var isSpecial = function (s) {
var pattern = new RegExp("[`~!@%#$^&*()=|{}':;',\\[\\]<>/?/\]\\.;:%……+¥()【】‘”“'●.。,、?1234567890-=_+~?!@#$%^&*)]");
if (pattern.test(s)) {
return false;
} else {
return true;
}
}
var isNumber = function (s) {
var p = /[0-9]/;
var b = p.test(s);//true,说明有数字
if (p.test(s)) {
return false;
} else {
return true;
}
}
var isHasBlank = function (s) {
if (isChina(s)) { //只要中文才限制没有空格
if (s.indexOf(" ") == -1) {
return true
} else {
return false
}
}
}
if (!value) {
result.isCorrect = false;
result.msg = '请输入姓名'
} else {
if (!isSpecial(value) || !isNumber(value)) {
result.isCorrect = false;
result.msg = '姓名中不允许出现特殊字符及阿拉伯数字'
} else if (isChina(value)) {
if (isEng(value)) {
// result.isCorrect = false;
// result.msg = '中文姓名和英文姓名只能录入其中一种'
if (value.trim().length < 1 || value.length > 32) {
result.isCorrect = false;
result.msg = '姓名长度不符合要求,请您重新输入'
}
}
else{
if (value.length < 2 || value.length > 10) {
result.isCorrect = false;
result.msg = '中文姓名长度不符合要求,请您重新输入'
}
if (!isHasBlank(value)) {
result.isCorrect = false;
result.msg = '中文姓名中不允许出现空格'
}
}
} else {
if (value.trim().length < 4 || value.length > 32) {
result.isCorrect = false;
result.msg = '英文姓名长度不符合要求,请您重新输入'
}
}
}
return result;
},
});
module.exports = input;