JS共通検証機能_JavaScriptスキル
- WBOYオリジナル
- 2016-05-16 18:54:56935ブラウズ
//完全に数字で構成されているかどうかを確認します
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/; 🎜 >if (!patrn.exec(s)) return false
return true
}
//ログイン名を確認します: 文字列で始まる 5 ~ 20 文字のみを入力できます。 "_" と "." の function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0 -9 ]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
//証明 ユーザーを検証name: 文字で始まる 1 ~ 30 個の文字列のみを入力できます
function isTrueName(s) {
var patrn=/^[a-zA-Z]{1, 30}$/ ;
if (!patrn.exec(s)) return false
return true
}
//パスワードを確認: 6 ~ 20 文字のみ入力可能、数字、アンダースコア 関数 isPasswd(s)
{
var patrn=/^(w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}
//通常の電話番号と FAX 番号を確認します。「 」で始まることができ、数字に加えて「-」を含めることもできます
function isTel( s ) {
//var patrn=/^[ ]{0,1}(d){1,3}[ ]?([-]?(d){1,12}) $/ ;
var patrn=/^[ ]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12}) $/; >if (!patrn.exec(s)) return false
return true
}
//確認用携帯電話番号: 数字で始まる必要があり、数字に加えて " -"
関数 isMobil(s) {
var patrn=/^[ ]{0,1}(d){1,3}[ ]?([-]?(( d) |[ ]){1,12}) $/;
if (!patrn.exec(s)) return false
return true
}
//郵便番号を確認します
function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0] - 9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}
//検索キーワードを検証
function isSearch( s )
{
var patrn=/^[^`~!@#$%^&*() =|\][]{}:;',.
/?]{1} [ ^`~!@$%^&() =|\][]{}:;',.
?]{0,19}$/; if (!patrn.exec(s) ) return false return true }
function isIP(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/; 🎜>if (!patrn.exec(s)) return false
return true
}
/*************************************************** ******************************
* 関数: isBetween
* パラメータ: val AS 任意の値
* lo AS チェックする下限
* hi AS チェックする上限
* 呼び出し: なし
* 戻り値: val が lo と hi の間にある場合は TRUE、それ以外の場合は false。
***************
**************************** ************************************/
function isBetween (val, lo, hi) {
if ((val
hi)) { return(false); }
else { return(true) }
}
/*************************************************** ****************************** * 機能: isDate は有効な日付をチェックします
* パラメータ: theStr AS String
* 呼び出し: isBetween, isInt
* 戻り値: theStr が有効な日付の場合は TRUE、それ以外の場合は false。
********************************************** **********************************/
関数 isDate ( theStr ) {
var the1st = theStr.indexOf('-');
var the2nd = theStr.lastIndexOf('-');
if (the1st == the2nd) { return(false); 🎜>else {
var y = theStr.substring(0,the1st);
var m = theStr.substring(the1st 1,the2nd);
var d = theStr.substring(the2nd 1,theStr .長さ);
var maxDays = 31;
if (isInt(m)==false || isInt(d)==false || isInt(y)==false) {
return(false) ; }
else if (y.length else if (!isBetween (m, 1, 12)) { return(false) }
else if ( m==4 || m==6 || m==11) maxDays = 30;
else if (m==2) {
if (y % 4 > 0 ) maxDays = 28;
else if (y % 100 == 0 && % 400 > 0) maxDays = 28; else maxDays = 29; maxDays) == false) { return(false); }
else { return(true) }
}
}
/*************************************************** ******************************
* 機能: isEuDate は英国形式の有効な日付をチェックします
* パラメーター: theStr AS String
* 呼び出し: isBetween, isInt
* 戻り値: theStr が有効な日付の場合は TRUE、それ以外の場合は false。
********************************************** **********************************/
関数 isEuDate (theStr ) {
if (isBetween(theStr.length, 8, 10) == false) { return(false); }
else {
var the1st = theStr.indexOf('/'); >var the2nd = theStr.lastIndexOf('/');
if (the1st == the2nd) { return(false) }
else {
var m = theStr.substring(the1st 1,the2nd ) ;
var d = theStr.substring(0,the1st);
var y = theStr.substring(the2nd 1,theStr.length);
var maxDays = 31; )==false || isInt(d)==false || isInt(y)==false) {
return(false) }
else if (y.length else if (isBetween (m, 1, 12) == false) { return(false); }
else if (m==4 || m==6 || m==9 | | m==11) maxDays = 30;
else if (m==2) {
if (y % 4 > 0) maxDays = 28; y % 400 > 0) maxDays = 28;
else maxDays = 29;
if (isBetween(d, 1, maxDays) == false) { return(false) }
{ return(true); }
}
} }
/********************************************************************************
* FUNCTION: Compare Date! Which is the latest!
* PARAMETERS: lessDate,moreDate AS String
* CALLS: isDate,isBetween
* RETURNS: TRUE if lessDate*********************************************************************************/
function isComdate (lessDate , moreDate)
{
if (!isDate(lessDate)) { return(false);}
if (!isDate(moreDate)) { return(false);}
var less1st = lessDate.indexOf('-');
var less2nd = lessDate.lastIndexOf('-');
var more1st = moreDate.indexOf('-');
var more2nd = moreDate.lastIndexOf('-');
var lessy = lessDate.substrin(0,less1st);
var lessm = lessDate.substring(less1st 1,less2nd);
var lessd = lessDate.substring(less2nd 1,lessDate.length);
var morey = moreDate.substring(0,more1st);
var morem = moreDate.substring(more1st 1,more2nd);
var mored = moreDate.substring(more2nd 1,moreDate.length);
var Date1 = new Date(lessy,lessm,lessd);
var Date2 = new Date(morey,morem,mored);
if (Date1>Date2) { return(false);}
return(true);
}
/*********************************************************************************
* FUNCTION isEmpty checks if the parameter is empty or null
* PARAMETER str AS String
**********************************************************************************/
function isEmpty (str) {
if ((str==null)||(str.length==0)) return true;
else return(false);
}
/*********************************************************************************
* FUNCTION: isInt
* PARAMETER: theStr AS String
* RETURNS: TRUE if the passed parameter is an integer, otherwise FALSE
* CALLS: isDigit
**********************************************************************************/
function isInt (theStr) {
var flag = true;
if (isEmpty(theStr)) { flag=false; }
else
{ for (var i=0; iif (isDigit(theStr.substring(i,i 1)) == false) {
flag = false; break;
}
}
}
return(flag);
}
/*********************************************************************************
* FUNCTION: isReal
* PARAMETER: heStr AS String
decLen AS Integer (how many digits after period)
* RETURNS: TRUE if theStr is a float, otherwise FALSE
* CALLS: isInt
**********************************************************************************/
function isReal (theStr, decLen) {
var dot1st = theStr.indexOf('.');
var dot2nd = theStr.lastIndexOf('.');
var K = true;
if (isEmpty(theStr)) return false;
if (dot1st == -1) {
if (!isInt(theStr)) return(false);
else return(true);
}
else if (dot1st != dot2nd) return (false);
else if (dot1st==0) return (false);
else {
var intPart = theStr.substring(0, dot1st);
var decPart = theStr.substring(dot2nd 1);
if (decPart.length > decLen) return(false);
else if (!isInt(intPart) || !isInt(decPart)) return (false);
else if (isEmpty(decPart)) return (false);
else return(true);
}
}
/*********************************************************************************
* FUNCTION: isEmail
* PARAMETER: String (Email Address)
* RETURNS: TRUE if the String is a valid Email address
* FALSE if the passed string is not a valid Email Address
* EMAIL FORMAT: AnyName@EmailServer e.g; webmaster@hotmail.com
* @ sign can appear only once in the email address.
*********************************************************************************/
function isEmail (theStr) {
var atIndex = theStr.indexOf('@');
var dotIndex = theStr.indexOf('.', atIndex);
var flag = true;
theSub = theStr.substring(0, dotIndex 1)
if ((atIndex { return(false); }
else { return(true); }
}
/*********************************************************************************
* FUNCTION: newWindow
* PARAMETERS: doc -> Document to open in the new window
hite -> Height of the new window
wide -> Width of the new window
bars -> 1-Scrll bars = YES 0-Scroll Bars = NO
resize -> 1-Resizable = YES 0-Resizable = NO
* CALLS: NONE
* RETURNS: New window instance
**********************************************************************************/
function newWindow (doc, hite, wide, bars, resize) {
var winNew="_blank";
var pt="toolbar=0,location=0,directories=0,status=0,menubar=0,";
opt =("scrollbars=" bars ",");
opt =("resizable=" resize ",");
opt =("width=" wide ",");
opt =("height=" hite);
winHandle=window.open(doc,winNew,opt);
return;
}
/*************************************************** ******************************
* 関数: DecimalFormat
* パラメータ: paramValue -> フィールド値
* 呼び出し: なし
* 戻り値: フォーマットされた文字列
*********************************** **********************************************/
function DecimalFormat (paramValue) {
var intPart = parseInt(paramValue);
var decPart =parseFloat(paramValue) -
str = " ";
if ((decPart == 0) || (decPart == null)) str = (intPart ".00");
else str = (intPart decPart);
return (str) ;
}
"^\d $" //非負の整数 (正の整数 0)
"^[0-9]*[1-9][0-9]*$" / / 正の整数
"^((-\d )|(0 ))$" //非正の整数 (負の整数 0)
"^-[0-9]*[1-9][ 0- 9]*$" //負の整数
"^-?\d $" //整数
"^\d (\.\d )?$" //非負の浮動小数点数 (正の浮動小数点数 0 )
"^(([0-9] \.[0-9]*[1-9][0-9]*)|([0-9]*[1-9] ][0-9 ]*\.[0-9] )|([0-9]*[1-9][0-9]*))$" //正の浮動小数点数
"^( (-\d (\ .\d )?)|(0 (\.0 )?))$" //非正の浮動小数点数(負の浮動小数点数 0)
"^(-(([ 0-9] \.[0- 9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9] )|([0-9]* [1-9][0-9]*)))$" // 負の浮動小数点数
"^(-?\d )(\.\d )?$ " //浮動小数点数
"^ [A-Za-z] $" //26 文字の英字からなる文字列
"^[A-Z] $" //26 文字の大文字からなる文字列
"^[a-z ] $" // 英小文字26文字からなる文字列
"^[A-Za-z0-9] $" // 数字と英文字26文字からなる文字列
" ^ \w $" //数字、英字26文字、またはアンダースコアからなる文字列
"^[\w-] (\.[\w-] )*@[\w-] (\.[\ w -] ) $" //メールアドレス
"^[a-zA-z] ://(\w (-\w )*)(\.(\w (-\w )*))* ( \?\S*)?$" //url
声明:この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。