﻿// JavaScript Document

function trim(str){return str.replace(/(^\s*)|(\s*$)/g, "");}
function ltrim(str){return str.replace(/(^\s*)/g,"");}
function rtrim(str){return str.replace(/(\s*$)/g,"");}
function isEmpty(str){str=trim(str); return str.length==0;}
function isNumber(s){var p=/^\d+$/;return p.test(s);}
function isInt(s){var p=/^[1-9]\d*$/;return p.test(s);}
function isIntAndZero(s){var p=/^([1-9]\d*)|0$/;return p.test(s);}
function isSingleChar(str){var p=/^[^\x00-\xff]+$/;return !p.test(str);}
function isDoubleChar(str){var p=/^[^\x00-\xff]+$/;return p.test(str);}
function isPhone(str){str=trim(str);if(/^[\+\d][\d]+[\-\d]*\d$/.test(str)){if(/.{3,32}/.test(str)) return true;}else  return false;}
function isEmail(str){var p=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; return p.test(trim(str));}
function isUrl(str){var p=/^https?:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/; return p.test(trim(str));}
function isJpZip(str){var p=/^\d{3}\-\d{4}$/; return p.test(trim(str));}

function isSimDate(str){var p=/^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/; return p.test(trim(str));}

function isChinese(str){var p=/^[\u4e00-\u9fa5]+$/; return p.test(trim(str));}
function isHiragana(str){var p=/^[\u3040-\u309F]+$/; return p.test(trim(str));}
function isKatakana(str){var p=/^[\u30A0-\u30FF]+$/; return p.test(trim(str));}

function getStrLength(s){  
      s=trim(s);
      var len=0;
      for(var i=0;i<s.length;i++){if(s.charCodeAt(i)>255) len=len+2;else len++;}  
	  return len;
}