UNPKG

igi_orion_cignacmb

Version:

Censors words out of text

130 lines (119 loc) 4.46 kB
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;