JavaScript常用検証スクリプトのまとめ
14494 ワード
転載は出典:http://eksliang.iteye.com/blog/2098985
これらの検证スクリプトは、ここ数年の开発の総括です.今日は彼を出して、分かち合います.今は私のプロジェクトの中でも使っています.日付検証、比較、非空検証、身分証明書検証、数値検証、Email検証、電話検証などを含めて…!
これらの方法は二つの特徴があります.フォームの検証ですから、二つの実施形態を提供しています.最初に入ったのはフォームのIDです.もう一つはフォームの値です.
下の添付ファイルにこのスクリプトのソースファイルが添付されています.
これらの検证スクリプトは、ここ数年の开発の総括です.今日は彼を出して、分かち合います.今は私のプロジェクトの中でも使っています.日付検証、比較、非空検証、身分証明書検証、数値検証、Email検証、電話検証などを含めて…!
これらの方法は二つの特徴があります.フォームの検証ですから、二つの実施形態を提供しています.最初に入ったのはフォームのIDです.もう一つはフォームの値です.
下の添付ファイルにこのスクリプトのソースファイルが添付されています.
/**
*@author Ickes
*
*/
function _$(id){
return document.getElementById(id);
}
/**
* @author Ickes
* ,
* @param str<br>
*
* @param type<br>
* - <br>
* - L l <br>
* - R r <br>
* @return
*/
function trim(str,type){
if(type=="" || type==null){
return str.replace(/(^\s*)|(\s*$)/g, "");
}else if(type.toLocaleLowerCase()=="r"){
return str.replace(/(\s*$)/g,"");
}else if(type.toLocaleLowerCase()=="l"){
return str.replace(/(^\s*)/g,"");
}
}
/****
*@author Ickes
* id
* null true
**/
function checkNull(_id){
var v=_$(_id).value;
v=trim(v);
if(v==''){
return true;
}else{
return false;
}
}
/**
*@author Ickes
*
* @return
* :yyyy-MM-dd
*/
function getDate(){
var d;
var s='';
d = new Date();
s += d.getFullYear() + "-";
//
var moth=d.getMonth() + 1;
if(moth<10){
s += "0"+moth+ "-";
}else{
s += moth + "-";
}
//
var date=d.getDate();
if(date<10){
s += "0"+date;
} else{
s += date;
}
return(s);
}
/**
* @author Ickes
*
* @return
* :yyyy-MM-dd hh:mm:ss
*/
function getDateTime(){
var d;
var s='';
d = new Date();
s += d.getFullYear() + "-";
//
var moth=d.getMonth() + 1;
if(moth < 10){
s += "0" +moth+ "-";
}else{
s += moth + "-";
}
//
var date=d.getDate();
if(date < 10){
s += "0" + date + " ";
} else{
s += date+" ";
}
//
var hours=d.getHours();
if(hours < 10){
s += "0" +hours+ ":";
}else{
s +=hours+":";
}
//
var minutes = d.getMinutes();
if(minutes < 10){
s += "0" +minutes+ ":";
}else{
s += minutes+ ":";
}
//
var seconds = d.getSeconds();
if(seconds < 10){
s += "0"+seconds;
}else{
s += seconds;
}
return(s);
}
/****
*@author Ickes
* <br>
*@param str
* <br>
*@ :
* 2012-12-12 <br> <br> 2012/12/12
**/
function formatDate(str){
return str.split("-").join("/");
}
/**
*@author Ickes
* , 2012-12-12 2012/12/12 <br>
*@param _startId
* Id
*@param _endId
* Id
*@retur
* true<br>
**/
function compareDateId(_statId,_endId){
var startDate = formatDate(_$(_statId).value);
var endDate = formatDate(_$(_endId).value);
var time1=Date.parse(startDate);
var time2=Date.parse(endDate);
if(time1 > time2){
return false;
}
return true;
}
/**
*@author Ickes
* , 2012-12-12 2012/12/12 <br>
*@param start
*
*@param end
*
*@retur
* true<br>
**/
function compareDateStr(start,end){
var startDate = formatDate(start);
var endDate = formatDate(end);
var time1=Date.parse(startDate);
var time2=Date.parse(endDate);
if(time1 > time2){
return false;
}
return true;
}
/****
*@author Ickes
*
* @param _id
* id
* @param url
*
* @param method
* :post
*/
function _submit(_id,url,method){
if(method=="" || method==null){
method="post";
}
_$(_id).method=method;
_$(_id).action=url;
_$(_id).submit();
}
/**
* @author Ickes
* __ <br>
* @return
*
*/
function byteLen(s) {
var l = 0;
var a = s.split("");
for (var i=0;i<a.length;i++) {
if (a[i].charCodeAt(0)<299) {
l++;
} else {
l+=2;
}
}
return l;
}
/****
* @author Ickes
* id
* @param
* Id
* @return
* true, false
**/
function isNumId(_id){
var value=_$(_id).value;
//
value=trim(value);
if(value==''){
return false;
}
var flg=isNaN(value);
return !flg;
}
/**
* @author Ickes
* id <br>
* @param _value
*
* @return
* true, false
**/
function isNum(_value){
//
value=trim(_value);
if(value==''){
return false;
}
var flg=isNaN(value);
return !flg;
}
/****
* @author Ickes
* id email<br>
*@param
* id
*@return
* false<br>
* email true
**/
function isEmail(_id){
var srt=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
var email=_$(_id).value;
if(email==null || email==""){
return false;
}
if(srt.test(email)) {
//
return true;
}
else{
//
return false;
}
}
/**
*@author Ickes
*
*@param _id:
* id
*@return
* false<br>
* true
*/
function isTelId(_id){
var str=_$(_id).value;
if(str==null || trim(str)==""){
return false;
}
var str = trim(str);
var myphone = /^[\-0-9+()\/]{1,32}$/;
if(myphone.test(str)){
return true;
}
return false;
}
/**
*@author Ickes
*
*@param str:
*
*@return
* true
*/
function isTel(str){
if(str==null||trim(str)==""){
return false;
}
var str = trim(str);
var myphone = /^[\-0-9+()\/]{1,32}$/;
if(myphone.test(str)){
return true;
}
return false;
}
/**
* @author Ickes
* - x
* @param num:
*
* @return
* true
*/
function isCardNo(num){
num=trim(num);
var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var error;
var varArray = new Array();
var intValue;
var lngProduct = 0;
var intCheckDigit;
var intStrLen = num.length;
var idNumber = num;
var checkDate = function(date) {
return true;
}
// initialize
if ((intStrLen != 15) && (intStrLen != 18)) {
//error = " !";
//alert(error);
//frmAddUser.txtIDCard.focus();
return false;
}
// check and set value
for(i=0;i<intStrLen;i++) {
varArray[i] = idNumber.charAt(i);
if ((varArray[i] < '0' || varArray[i] > '9') && (i != 17)) {
//error = " !.";
//alert(error);
//frmAddUser.txtIDCard.focus();
return false;
} else if (i < 17) {
varArray[i] = varArray[i]*factorArr[i];
}
}
if (intStrLen == 18) {
//check date
var date8 = idNumber.substring(6,14);
if (checkDate(date8) == false) {
//error = " !.";
//alert(error);
return false;
}
// calculate the sum of the products
for(i=0;i<17;i++) {
lngProduct = lngProduct + varArray[i];
}
// calculate the check digit
intCheckDigit = 12 - lngProduct % 11;
switch (intCheckDigit) {
case 10:
intCheckDigit = 'X';
break;
case 11:
intCheckDigit = 0;
break;
case 12:
intCheckDigit = 1;
break;
}
// check last digit
if (varArray[17].toUpperCase() != intCheckDigit) {
//error = " ! : " + intCheckDigit + ".";
//alert(error);
return false;
}
}
else{ //length is 15
//check date
var date6 = idNumber.substring(6,12);
if (checkDate(date6) == false) {
//alert(" !.");
return false;
}
}
//alert ("Correct.");
return true;
}
/**
* @author Ickes
* - x
* @param _id:
* Id
* @return
* true
*/
function isCardNoId(_id){
var num=trim(_$(_id).value);
if(num==null || num==""){
return false;
}
var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var error;
var varArray = new Array();
var intValue;
var lngProduct = 0;
var intCheckDigit;
var intStrLen = num.length;
var idNumber = num;
var checkDate = function(date) {
return true;
}
//
if ((intStrLen != 15) && (intStrLen != 18)) {
return false;
}
// check and set value
for(i=0;i<intStrLen;i++) {
varArray[i] = idNumber.charAt(i);
if ((varArray[i] < '0' || varArray[i] > '9') && (i != 17)) {
//error = " !.";
return false;
} else if (i < 17) {
varArray[i] = varArray[i]*factorArr[i];
}
}
if (intStrLen == 18) {
//check date
var date8 = idNumber.substring(6,14);
if (checkDate(date8) == false) {
//error = " !.";
//alert(error);
return false;
}
// calculate the sum of the products
for(i=0;i<17;i++) {
lngProduct = lngProduct + varArray[i];
}
// calculate the check digit
intCheckDigit = 12 - lngProduct % 11;
switch (intCheckDigit) {
case 10:
intCheckDigit = 'X';
break;
case 11:
intCheckDigit = 0;
break;
case 12:
intCheckDigit = 1;
break;
}
// check last digit
if (varArray[17].toUpperCase() != intCheckDigit) {
//error = " ! : " + intCheckDigit + ".";
//alert(error);
return false;
}
}
else{ //length is 15
//check date
var date6 = idNumber.substring(6,12);
if (checkDate(date6) == false) {
//alert(" !.");
return false;
}
}
return true;
}
/**
* @author Ickes
* ,
* @param card
*
* @return
*
*/
function getCardDate(card){
var date="";
var year="";
var moth="";
var day="";
if(card.length==18){
date=card.substring(6,14);
year=date.substring(0,4);
moth=date.substring(4,6);
day =date.substring(6,8);
date=year+"/"+moth+"/"+day;
}else{
date=card.substring(6,12);
year="19"+date.substring(0,2);
moth=date.substring(2,4);
day =date.substring(4,6);
date=year+"/"+moth+"/"+day;
}
return new Date(date);
}
/****
* @author Ickes
* id
**/
function showError(_id,error){
_$(_id).innerHTML='';
_$(_id).innerHTML="<font color='red'>"+error+"<font>";
}