ホームページ > 記事 > ウェブフロントエンド > Alimama_Form 特殊効果から発見されたいくつかの優れたフォーム検証関数
//--------
// 現在のブラウザが Netscape かどうかを確認します
//--------
function isNetscape(){
app=navigator. appName.substring(0,1);
if (app=='N') return true;
else {return false;}
}
//----- ---
// 現在の Form フォームを保存します (IE ブラウザにのみ適用可能)
//--------
function formSaveCheck(fileName){
if(isNetscape() ){alert("申し訳ありませんが、これらの機能はサポートされていません")}
else document.execCommand('SaveAs',null,fileName)
}
//------ -
// データの有効性を検証します
//--------
function isValidReg( chars){
var re=/|[|]|{ | }|『|』|※|○|●|◎|§|△|▲|☆|★|◇|◆|□|▼|㊣|﹋|⊕|⊙|〒|ㄅ|ㄆ|
ㄇ |ㄈ|ㄉ|ㄊ|ㄋ|ㄌ|ㄍ|ㄎ|ㄏ|ㄐ|ㄑ|ㄒ|ㄓ|ㄔ|ㄕ|ㄖ|ㄗ|ㄘ|ㄙ|ㄚ|ㄛ|ㄜ|ㄝ|ㄞ|ㄟ| |ㄣ|ㄤ|ㄥ|ㄦ|ㄧ|ㄨ|ㄩ
|■|▄|▆|*|@|#|^|\/; if (re.test( chars) == true ) {
return false;
}else{
return
} }
}
//--------
// チェックデータの長さは正当ですか?
//--------
function isValidLength(chars, len) {
if (chars.length > len) {
return false;
}
return true;
}
//--------
// URL の有効性を検証します
//---- -- -
function isValidURL( chars ) {
//var re=/^([hH][tT]{2}[pP]://|[hH][tT]{2}[pP ][ sS]://)(((w (-*w*) ).) ((com)|
(net)|(edu)|(gov)|(org)|(biz)| (エアロ)|(協力)|(情報)|(名前)|(プロ)|(博物館))(.([a-z]{2}))?)|((w (-
*w*) ). (cn)))$/;
var re=/^([hH][tT]{2}[pP]://|[hH][tT]{2}[pP][sS] :/ /)(S .S )$/;
//var re=/^([hH][tT]{2}[pP]://|[hH][tT]{2}[pP ][ sS]://)((((w (-*w*) ).) ((com)|
(net)|(edu)|(gov)|(org)|(biz) |( エアロ)|(協力)|(情報)|(名前)|(プロ)|(博物館)|(cn)|(テレビ)|(香港))(.([a-z]
{2}) )? )|((w (-*w*) ).(cn)))((/|?)S*)*)$/; = jsTrim (chars);
if (chars.match(re) == null)
else
戻り値;
/ /--------
// 数値の有効性をチェックします
//--------
function isValidDecimal( chars ) {
var re=/^ d*.?d{1,2}$/;
if (chars.match(re) == null)
else
戻り値
>
//--------
// 数値の有効性をチェックします
//--------
function isNumber( chars ) {
var re=/^d*$/;
if (chars.match(re) == null)
else
戻り値
}
//--------
// 郵便番号の有効性を検証します
//--------
function isValidPost( chars ) {
var re =/^d{6}$/;
if (chars.match(re) == null)
else
戻り値
}
//--------
// データから先頭と末尾の null 文字を削除します
//--------
function jsTrim(value){
戻り値.replace(/(^s*)|(s*$)/g,"");
//--------
// データが空かどうかを検証します (データが空文字の場合も NULL です)
//----- -- -
function isNULL(chars) {
if (chars == null)
return true;
if (jsTrim(chars).length==0)
return true; 🎜> return false;
}
//--------
// メールの有効性を確認します
//--------
function checkEmail (fieldName, bMsg)
{
var emailStr = fieldName.value;
var emailPat=/^(. )@(. )$/
varspecialChars=" \( \)
@,;:\\\"\.\[\]" var validChars="[^\s"specialChars "]"
var quoteUser="("[^" ]* ")"
var ipDomainPat=/^[(d{1,3}).(d{1,3}).(d{1,3}).(d{1,3})] $/
var atom=validChars ' '
var word="(" atom "|" quoteUser ")"
var userPat=new RegExp("^" word "(\." word ")* $" )
var domainPat=new RegExp("^" atom "(\." atom ")*$")
var matchArray=emailStr.match(emailPat)
if (matchArray= =null )
{
if (bMsg) alter("メール アドレスが間違っているようです (@ と . を確認してください)")
return false
}
var user=matchArray[1]
var domain=matchArray[2]
// "user" が有効かどうかを確認します
if (user.match(userPat)==null)
{
if (bMsg )alert ("電子メール アドレスが間違っているようです。")
// fieldName.focus();
return false
}
/* 電子メール アドレスが IP にある場合アドレス (シンボリック
ホスト名ではなく) IP アドレスが有効であることを確認してください。 */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null)
{
for (var i=1;i { if (IPArray[i]>255)
{
if (bMsg) alter("宛先 IP アドレスは無効です! ")
return false
}
return true
}
// ドメインはシンボリック名です
var domainArray=domain.match(domainPat)
if (domainArray==null)
{
if (bMsg) alter("ドメイン名が有効ではないようです。")
return false
}
/* ドメイン名は有効であるように見えますが、
3 文字の単語(com、edu、gov など)、または国を表す 2 文字の単語
で終わっていることを確認してください( uk、nl)、
ドメインまたは国の前にホスト名があること。 */
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr. length-1].length3)
{
// アドレスは 2 文字または 3 文字の単語で終わる必要があります。
if (bMsg) alert(「アドレスは 3 文字のドメインまたは 2 文字の国で終わる必要があります。」)
return false
}
// ホストがあることを確認してくださいドメインの前に名前を付けます。
if (len {
if (bMsg) alert("このアドレスにはホスト名がありません!")
return false
}
//Ifここまではすべて正しいです。
true を返します。
}
//--------
// 闰年かどうか判断
//--------
関数 isLeap Year(year) {
if (年 % 4 != 0)
false を返す;
if (年 % 400 == 0)
true を返します。
if (年 % 100 == 0)
false を返します。
trueを返します。
}
//--------
// 校验日期の正当性
//--------
function validateDate(日,月,年)
{
if ((日 return false;
if ((月>=1)&&(月 if (月 == 2) {
if (isLeapyear(年)) {
if ( day true を返します。
} else {
if (日 trueを返します。
else
falseを返す;
}
} else if ((month==4)||(month==6)||(month==9)||(month==11)) {
if (day true を返します。
else
return false;
} else {
if (日 trueを返します。
else
return false;
}
}
return false;
}
//--------
// データにシングルバイトが含まれているかどうかを判断します
/ /--------
関数 isSingleByteString(str)
{
var rc = true;
var j = 0, i = 0; i
return
}
var submitEvent = true;
function checkDoubleSubmit(){
return
}
//- -------
// ポップアップ ウィンドウ
// パラメーター: url - ポップアップ ウィンドウには URL のコンテンツが表示されます
//高さ
// isCenter-controlsポップアップ ウィンドウが画面の中央に表示されるかどうか、値は true/false です
// isResizable-ポップアップ ウィンドウのサイズを変更できるかどうかを制御します、値は true/false
// isScroll-control ポップアップ ウィンドウにスクロール バーがあるかどうか、値は true/false
//--------
function PopupWindow(url,w,h,isCenter,isResizable,isScroll) {
if (isNULL (url)) return;
var scrTop = 0;
var reverse = "no"; 🎜> if (isCenter) {
scrLeft = (screen.width-w)/2;
scrTop = (screen.height-h)/2;
if (isResizable) assign= "はい";
if (isScroll) スクロール = "はい";
window.open(url, 'popupWindow',
'height=' h ',width=' w ',top=' scrTop ',left=' scrLeft ' ,toolbar=no,menubar=no,scrollbars=' スクロール
l ',resizable=' サイズ変更 ',location=no,status=no'); 🎜>//--- -----
// ポップアップ ウィンドウ
// パラメータ: url-ポップアップ ウィンドウに表示される URL の内容
// w- 🎜 >// isCenter-ポップアップ ウィンドウを画面の中央に表示するかどうかを制御します。値は true/false です
// isResizable-ポップアップ ウィンドウのサイズを変更できるかどうかを制御します。値は true /false
// isModal-ポップアップ ウィンドウを制御します。モーダル ダイアログ ボックスか非モーダル ダイアログ ボックスかに関係なく、値は true/false です。
//--------
関数PopupModalWindow(url,w,h,isCenter,isResizable,isModal) {
if (isNULL(url)) return;
var scrTop = 0; no";
var cnt = "no";
if (isCenter ) {
cnt="yes";
scrLeft = (screen.width-w)/2;
scrTop = (screen.height-h)/2;
}
if ( isResizable)size="yes";
if (isModal)
window.showModalDialog(url, 'popupWindow',
'dialogWidth:' w 'px;dialogHeight:' h 'px;dialogLeft:' scrLeft 'px;dialogTop:' scrTop 'px;center:'
cnt ';help:no;resizable:' サイズ変更 ';status:いいえ');
else
window.showModelessDialog(url, 'popupWindow ',
'dialogWidth:' w 'px;dialogHeight:' h 'px;dialogLeft:' scrLeft 'px;dialogTop:' scrTop 'px;center:'
cnt ';help:no;resizable:' サイズ変更 ';status:no');
//--------
// Pop-up window
// Parameters: url - The content of the URL displayed in the pop-up window
// Pop-up window 🎜>// h-The height of the pop-up window
// isCenter-Control whether the pop-up window is displayed in the center of the screen, the value is true/false
// IsResizable-Control whether the pop-up window can be resized, the value is true/ false
// isScroll-Control whether the pop-up window has scroll bars, the value is true/false
//--------
function openWindowCenter(urll,w,h){
var top=(window.screen.height-h)/2;
var left=(window.screen.width-w)/2;
var param='toolbar=no,menubar=no,scrollbars= yes,resizable=no,location=no, status=no,top=';
param=param top;
param=param ',left=';
param=param left;
param =param ',height=' h;
param=param ',width=' w;
var w=window.open (urll,"",param)
if(w!=null && typeof (w)!="undefined"){
w.focus();
}
}