/* 将全角字符转换为半角（目前只转换０,１,２,３,４,５,６,７,８,９,，）*/
function tohalf(str) {
    var a = new Array('０', '１', '２', '３', '４', '５', '６', '７', '８', '９', '，', '　');
    var b = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ',', '');
    for (var i = 0; i < a.length; i++) {
        var re = eval("/" + a[i] + "/g");
        str = str.replace(re, b[i]);
    }
    return str;
}
// --身份证号码验证-支持新的带x身份证
function isIdCardNo(pId) {
	var arrVerifyCode = [ 1, 0, "x", 9, 8, 7, 6, 5, 4, 3, 2 ];
	var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
	var Checker = [ 1, 9, 8, 7, 6, 5, 4, 3, 2, 1, 1 ];
	if (pId.length != 15 && pId.length != 18)
		return false;
	var Ai = pId.length == 18 ? pId.substring(0, 17) : pId.slice(0, 6) + "19"
			+ pId.slice(6, 16);
	if (!/^\d+$/.test(Ai))
		return false;
	var yyyy = Ai.slice(6, 10), mm = Ai.slice(10, 12) - 1, dd = Ai
			.slice(12, 14);
	var d = new Date(yyyy, mm, dd), year = d.getFullYear(), mon = d.getMonth(), day = d
			.getDate(), now = new Date();
	if (year != yyyy || mon != mm || day != dd || d > now
			|| !isValidDate(dd, mm, yyyy))
		return false;

	return isIdcardCheckno(pId);
}

//身份证最后一位验证码验证
function isIdcardCheckno(idNo)
{
	if(idNo.length==15)return true;
	else{
		var a=[];
		for(var i=0;i<idNo.length-1;i++)
		{
			a[a.length]=idNo.substring(i,i+1);
		}
		var w = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; //
	var sum = 0;  //和   
    
	  var model = 0; // 模   
	     
	  var result;  //结果   
	  
	  var map = [1]; //映射   
	     
	  //对应替换   
	  map[0] = 1;   
	  map[1] = 0;   
	  map[2] = 'X';   
	  map[3] = 9;   
	  map[4] = 8;   
	  map[5] = 7;   
	  map[6] = 6;   
	  map[7] = 5;   
	  map[8] = 4;   
	  map[9] = 3;   
	  map[10] = 2;   
	  
	  //求和   
	  for (var i=0; i<a.length; i++) {   
	    sum += w[i] * a[i];   
	  }   
	     
	  //取模   
	  model = sum % 11;   
	     
	  //对应替换   
	  result = map[model];
	  if(idNo.substring(17,18)!=result)
		  return false;
	  else
		  return true;
	}
}
//日期 初步验证
function isValidDate(day, month, year) {

    if (month == 1) {
        var leap = (year % 4 == 0 ||
           (year % 100 == 0 && year % 400 == 0));
	//	   alert(leap+"|"+day)
        if (day>29 || (day == 29 && !leap)) {
            return false;
        }
    }
    return true;
}

function isMobile(m) {
	var mobilePatrn = /^1(3|5|8)[0-9]{9}$/;
	return mobilePatrn.test(m);
}
function isEmail(e) {
	var emailPatrn = /^([a-z0-9])(([\-.]|[_]+)?([a-z0-9]+))*(@)([a-z0-9])((([-]+)?([a-z0-9]+))?)*((.[a-z0-9]{1,10})*(.[a-z]{2,6}))$/i;
	return emailPatrn.test(e);
}
function isInteger(s) {
	var exp = new RegExp(/^\d+$/);
	return exp.test(s);
}
// 只充许输入数字
function IsDigit() {
	return ((event.keyCode >= 48) && (event.keyCode <= 57));
}
//数字和大小写字母
function IsDigitOrLetter()
{
	
	return  (((event.keyCode >= 48) && (event.keyCode <= 57))||((event.keyCode>=65)&&(event.keyCode<=90))||((event.keyCode>=97)&&(event.keyCode<=122))||(event.keyCode==16));
}
//序列号验证
function isIdentitycard(s)
{
	var identityCardNoParner=/^\w{20}/;
	return identityCardNoParner.test(s);
}
// 非法字符
function isNonlicet(str) {
	var regArray = new Array("admin", "毛泽东", "江泽民", "共产党", "gongchandang",
			"国民党", "guomindang", "法轮功", "阿扁", "台独", "爷", "爸", "妈", "日", "fuck",
			"FUCK", "操", "彩票吧", "管理员", "§", "№", "☆", "★", "○", "●", "◎", "◇",
			"◆", "□", "℃", "‰", "€", "■", "△", "▲", "※", "→", "←", "↑", "↓",
			"〓", "¤", "°", "＃", "＆", "＠", "＼", "︿", "＿", "￣", "―", "♂", "♀",
			"┌", "┍", "┎", "┏", "┐", "┑", "┒", "┓", "─", "┄", "┈", "├", "┝",
			"┞", "┟", "┠", "┡", "┢", "┣", "│", "┆", "┊", "┬", "┭", "┮", "┯",
			"┰", "┱", "┲", "┳", "┼", "┽", "┾", "┿", "╀", "╁", "╂", "╃", "≈",
			"≡", "≠", "＝", "≤", "≥", "＜", "＞", "≮", "≯", "∷", "∞", "∝", "∮",
			"∫", "／", "÷", "×", "－", "＋", "±", "∧", "∨", "∑", "∏", "∪", "∩",
			"∈", "∵", "∴", "√", "∽", "≌", "⊙", "⌒", "∠", "∥", "⊥", "⑴", "⑵",
			"⑶", "⑷", "⑸", "⑹", "⑺", "⑻", "⑼", "⑽", "㈩", "㈨", "㈧", "㈦", "㈥",
			"㈤", "㈣", "㈢", "㈡", "㈠", "⒈", "⒉", "⒊", "⒋", "⒌", "⒍", "⒎", "⒏",
			"⒐", "⒑", "Ⅻ", "Ⅺ", "Ⅹ", "Ⅸ", "Ⅷ", "Ⅵ", "Ⅶ", "Ⅴ", "Ⅳ", "Ⅲ", "Ⅱ",
			"Ⅰ");
	var fontSize = regArray.length;
	for ( var i = 0; i < fontSize; i++) {
		if (str.indexOf(regArray[i]) >= 0) {
			return true;
		}
	}
	return false;
}
// 特殊字符
function lawlessChar(elem) {
	var str = "$()*+-.[]?\^{\|}~`!@#%&_=<>/\",';";
	for (i = 0; i < elem.length; i++)
		if (str.indexOf(elem.charAt(i)) != -1) {
			return false;
		}
	return true;
}
function isEmpty(str) {
	if (str == null) {
		return true;
	}
	if (Trim(str).length <= 0) {
		return true;
	}
	return false;
}
function Trim(value) {
	return value.replace(/(^\s*)|(\s*$)/g, "");
}

function LTrim(value) {
	return value.replace(/^\s+/, "");
}
function RTrim(value) {
	return value.replace(/\s+$/, "");
}


