javascriptバリデーション

javascriptバリデーション form.js

 

var gGlobalCheckFlag = 0; // 1の場合は一回ボタンを押したとき

var gCheckFormArray = { // 3
"name_last":"姓名(姓)",
"name_first":"姓名(名)",
"name_last_kana":"フリガナ(姓)",
"name_first_kana":"フリガナ(名)",
"zip21":"郵便番号",
"zip22":"郵便番号",
"pref21":"都道府県",
"addr21":"住所(市区町村)",
"uDateYJ":"予約日(年)",
"uDateM":"予約日(月)",
"uDateD":"予約日(日)",
"email":"メールアドレス",
"tel_num1":"電話番号(市外局番)",
"tel_num2":"電話番号(市内局番)",
"tel_num3":"電話番号(加入者番号)"
}; // 3

var gCheckFormKanaArray = {
"name_last_kana":"フリガナ(姓)",
"name_first_kana":"フリガナ(名)"
};

function checkForm( pType ) {// 36
if (( gGlobalCheckFlag == 0 ) && ( pType == 1 )) { // 37
gGlobalCheckFlag = 1;
}// 37

if ( gGlobalCheckFlag == 1 ) { // 41
// 入力チェック
aErrorFlag = "";
aErrorStr = "";

for (var i in gCheckFormArray) { // 45 ;
if ( $F(i) != "" ) { // 46
$( i ).removeClassName("cssErr");

// アラート非表示
if ( $( i + "_msg" ) != undefined ) { // 47

$( i + "_msg" ).innerHTML = "";
} // 47
} // 46
else { // 54 $F(i)の値がない場合
//
aErrorMsg = "「" + gCheckFormArray[ i ] + "」を入力してください。";
aErrorFlag = 1;
aErrorStr += "<div>" + aErrorMsg + "</div>" ;
// 色変更
$( i ).addClassName("cssErr");
// アラート表示
if ( $( i + "_msg" ) != undefined ) {// 63
$( i + "_msg" ).innerHTML = aErrorMsg;
//
} // 63 if
} // 54 else
} // 45 for

// カタカナチェック
for (var i in gCheckFormKanaArray ) {//alert ($F(i));
if ( $F(i) != "" ) {
if ( checkZenkakuKana( $F(i) ) == true ) {
$( i ).removeClassName("cssErr");

// アラート非表示
if ( $( i + "_msg" ) != undefined ) {
$( i + "_msg" ).innerHTML = "";
}
} else {
aErrorMsg = "「" + gCheckFormKanaArray[ i ] + "」を全角カタカナで入力してください。";
aErrorFlag = 1;
aErrorStr += "<div>" + aErrorMsg + "</div>" ;

// 色変更
$( i ).addClassName("cssErr");

if ( $( i + "_msg" ) != undefined ) {// アラート表示
$( i + "_msg" ).innerHTML = aErrorMsg;
}
}
}
}

// 追加チェックalert ("メールアドレス書式");
if ( checkAlphabet($F(‘email’)) == false ) {
aErrorFlag = 1;
aErrorMsg = "「メールアドレス」の形式に誤りがあります。正しいメールアドレスを入力して下さい。";
aErrorStr += "<div>" + aErrorMsg + "</div>";
if ( $( "email_msg" ) != undefined ) {
$( "email_msg" ).innerHTML = aErrorMsg;
}

// 色変更 alert ("色変更");
$( ‘email’ ).addClassName("cssErr");
}

// 追加チェック(電話番号チェック) alert ("追加チェック");
if (( $F( "tel_num1" ) != "" ) && ( $F( "tel_num2" ) != "" ) && ( $F( "tel_num3" ) != "" )) {
len = ( $F( "tel_num1" ) + $F( "tel_num2" ) + $F( "tel_num3" ) ).length;
if (( len == 11 ) || ( len == 10 )) {
;
} else {
aErrorFlag = 1;
aErrorMsg = "「電話番号」は10桁(IP電話は11桁)の数値で入力してください。";
aErrorStr += "<div>" + aErrorMsg + "</div>";

if ( $( "tel_num1_msg" ) != undefined ) {
$( "tel_num1_msg" ).innerHTML = aErrorMsg;
}

$( ‘tel_num1’ ).addClassName("cssErr");
$( ‘tel_num2’ ).addClassName("cssErr");
$( ‘tel_num3’ ).addClassName("cssErr");
}
}

// 追加チェック(番地情報を含むか) alert ("追加チェック");
if ( checkNumeric( $F( ‘addr21’ )) != true ) {
aErrorFlag = 1;
aErrorMsg = "「住所」は番地まで入力して下さい。";
aErrorStr += "<div>" + aErrorMsg + "</div>";

if ( $( "addr21_msg" ) != undefined ) {
$( "addr21_msg" ).innerHTML = aErrorMsg;
}

$( ‘addr21’ ).addClassName("cssErr");
}

// 最終確認
if ( aErrorFlag == 1 ) {

return false; //submit の返り値が false なら submit の処理が中断される
}
else {
if ( pType == 1 ) {
return true;
}
}
}
}

function checkNumeric( pStr ) {
if( pStr.match( /[0-90-9]/ ) ) {
return true;
} else {
return false;
}
}

function checkZenkakuKana( pStr ) {
if( pStr.match( /[^ァ-ンー]+/ ) ) {
return false;
} else {
return true;
}
}

function checkAlphabet( pStr ) {
if( pStr.match( /^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/ ) ) {
return true;
} else {
return false;
}
}

 

送信フォームPHPソース

送信用PHPソースコード

 

<?php
session_start();
require "function.php" ;
echo "<html><head><link href=’a_thoshin.css’ rel=’stylesheet’ type=’text/css’><meta http-equiv=’Content-Type’ content=’text/html; charset=utf-8′></head><body><h3 id=’header’ >確認してください</h3><DIV align=’center’>入力内容に問題がなければ[ この内容で登録 ]ボタンをクリックしてください。</div>";

$Tfr = array(
"希望内容" => $_POST[‘rq_select’],
"姓" => mojifilter($_POST[‘name_last’]),
"名" => mojifilter($_POST[‘name_first’]),
"セイ" => mojifilter($_POST[‘name_last_kana’]),
"メイ" => mojifilter( $_POST[‘name_first_kana’]),
"生年月日" => $_POST[‘uDateYJ’]."/". $_POST[‘uDateM’]."/".$_POST[‘uDateD’],
"メールアドレス" => mojifilter($_POST[‘email’]),
"〒" => $_POST[‘zip21’]."-".$_POST[‘zip22’],
"住所" => $_POST[‘pref21’]. $_POST[‘addr21’],
"電話番号(自宅)" => $_POST[‘tel_num1’]."-". $_POST[‘tel_num2’]."-". $_POST[‘tel_num3’],
"連絡事項" => mojifilter($_POST[‘renraku’])
); //必須の終わり

echo "<form method=’post’ action=’registE.php’>
<table id=’tbl1′ width=’680′ border=’1′ cellpadding=’5′ cellspacing=’0′ align=’center’>
<tr><th width=200 class=’title’> 件名 </th> <th class=’title’> 送信内容 </th></tr>\n";

foreach( $Tfr as $key => $value ){//1
switch($key){
case "姓": case"セイ": case "〒":
$bkey=$key; $bval=$value; //この回のkeyとvalueを格納し次回に持ち越す
break;

case "名": case"メイ":
echo "<tr><td> $bkey$key </td> <td> $bval $value </td></tr>\n";
break;

default:
echo "<tr><td> $key </td> <td> $value </td></tr>\n"; // 改行しながら値を表示
break;
}
}//1 end foreach

echo <<<EOF
</td></tr>
<tr><td colspan="2" class="center">
<input type="button" onClick="submit();" class="buinput" value="この内容で登録 ->"></td>
</tr></table>
<div align=’center’><P>* 住所は番地・アパート名称まで記入してください。</P>
<P>訂正箇所がある場合はブラウザの戻るボタンで戻って訂正してください。</P></div>
</form></body></html>
EOF;

$_SESSION[‘Tfr’] = $Tfr; //SESSION変数に値確保

?>

インクルードする関数

 

<?php

function mojifilter(&$str){//シングルクオート置換
$str = str_replace(‘,’,’,’,$str);//カンマ置換
$str = str_replace(" ","",$str);//文字列中の全角スペースを置換
$str = str_replace(" ","",$str);//文字列中の半角スペースを置換
$str = htmlspecialchars($str);
$str = mb_convert_kana($str,"KV","UTF-8");//半角カナ変換,"SJIS"
return $str;
}

?>

Ubuntu13ハマリ箇所

Windows XP(クライアント) —- Linux(サーバ) の場合。

 

クライアントからドメイン指定で、LAN内のサーバに繋ごうとするとそんなドメインないよ的なことをいわれる。

 

Windows XP(クライアント)の設定。

\WINDOWS\system32\drivers\etc\hosts

のファイルの一番下に、「IPアドレス    ドメイン名」の順番で書き込む。


 

 

デスクトップが起動しない :$ startx

ターミナルは、docの一番上のアイコンserchで「tarminal」で探し、docにドラック

ubuntu13 ランチャーからアイコンを削除右クリック「unLock」で消える

ログインしてから自動的にグラフィカルなx環境を起動するには、ディスプレイマネージャなるモノを導入

$ sudo -i でrootUserに

sudo gedit 管理者権限で起動

隠しファイルを見る ls -a

 


 

linuxでwindowsのリモートデスクトップへ接続

 

# sudo apt-get install rdesktop

 

# rdesktop -f -k ja 192.168.11.26 -u ginji -p password -d domeinname

# rdesktop -f -r sound 192.168.11.26 -u ginji -p password -d domeinname 音も出す,前画面

ctrl+Alt+Enterで前画面終了


 

ubuntuドライバインストール

原因の特定

まずは原因の特定のために下記コマンドを打っていきます

# lshw -C Network
# dmesg | grep -e wlan -ie radio
# lspci -nn # (or lsusb)
# sudo iwlist scan

1. lshw による物理認識確認

ハードウェアとして認識されているか調べます。ドライバが存在していなくても普通は認識はされるはずなので、ここでコケた場合は故障の可能性が高い

3. lspci / lsusb による物理的認識確認

lspci コマンドでPCIバスデバイスの情報が表示されます。また lsusb ではUSBデバイスの情報が表示されます。 ここで表示されなければ物理的接続を疑う。

4. iwlist scan によるインターフェイスの確認

iwlist scan で存在しているインターフェイスの確認ができます。 もしもドライバーが存在しないため無線LANが使えない場合はここで wlan0 が表示されません

 

今回の場合ドライバが存在しないことによって無線が使えませんでした。その場合正しい出力が iwlist scan で見られず wlan0 が存在していませんでした。

より詳細を表示するために dmesg からgrep -e wlan -e b43 として以下のように情報を取り出しました。dmesg カーネルのログやブート時のメッセージを表示する

 

# dmesg | grep -e wlan -e b43
[   18.553312] b43-phy0: Broadcom 4321 WLAN found (core revision 12)
[   18.952494] b43-phy0 ERROR: Firmware file “b43/n0initvals11.fw” not found
[   18.952499] b43-phy0 ERROR: Firmware file “b43-open/ucode11.fw” not found
[   18.952502] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.

でURLが貼ってあったのでその先に飛び、指定されたものを以下のようにインストールし再起動をかけると使えるようになりますた。

 

# sudo apt-get install firmware-b43-installer

 


 

 

管理者ではないディレクにファイルを移動する

# chown kanrisha /etc/


 

Ubuntu 12.04にOracle Java 7をインストール

Ubuntu

Ubuntu 12.04をクリーンインストールした。

んで、Oracle Javaのインストールで以前に書いたUbuntuにOracle Java JDK 7をインストールした。 – ブログ::=(メモ|落書き)帳より、もっと簡単な方法があったのでメモしとく。

インストール手順は次の3つを行うだけ。

$ sudo add-apt-repository ppa:webupd8team/java

$ sudo apt-get update

$ sudo apt-get install oracle-java7-installer

centos サーバー構築覚書

IPアドレスを固定する

システム→設定→ネットワーク接続→追加で・・・

設定後は、「/etc/init.d/network restart」や、「service network restart」などで

ネットワークの再起動を行い設定を反映をさせます。


 

Windows7からCentOS6.3をリモートデスクトップで操作する

まずはCentOSの設定を

CentOS6.3には標準でvino-serverというリモートデスクトップサーバが入っている。厳密にはvnc-serverとは異なるものだが、今回はサーバ管理としてではなく、双方のPCを簡単に操作することが目的なので設定が簡単なvinoで行くことにする。

画面からリモートデスクトップを有効にする。上のバーから、システム>設定>リモート・デスクトップ を選択。設定画面で出てくるので下記のように設定。

  • 他のユーザが自分のデスクトップを表示できるにチェック

  • 他のユーザがデスクトップを操作できるチェック

  • セキュリティの項目は全部オフ(本格的に使うなら設定はちゃんと考えて!)

  • ちなみに、「このマシンへの接続を毎回確認する」にチェックを入れると、リモートデスクトップの接続リクエストのたびにCentOS側で許可をしなきゃいけないので、はずしておいた方がいい。

続いてファイアウォールの設定。

vimで下記ファイルを編集。VNCのポートを開放する(iptables)

1

$ sudo vim /etc/sysconfig/iptables

 

VNCデフォルトポートの5900をtcp, udpともに開放する。下記の設定を追加(REJECTの行より上に記述すること)。

1

2

-A INPUT -m state –state NEW -m tcp -p tcp –dport 5900 -j ACCEPT

-A INPUT -m state –state NEW -m udp -p udp –dport 5900 -j ACCEPT

 

サービスを再起動する。これでCentOS側の設定はOK。

1

$ sudo service iptables restart


 

Linu

LinuxからWindowsを操作する

まずはインストール # yum -y install rdesktop

起動 :# rdesktop -f -r sound 192.168.11.26 -u ginji -p password -d domeinname


 

  1. データベースサーバー構築(MySQL) CentOS5/CentOS6

2

mysql -u root -password ←管理者root パスワードでmysqlにログイン-pとくっつける。

 

mcrypt 拡張がありません。PHP の設定をチェックしてみてください。 

 


 

CentOSで自宅サーバー構築

[ http://centossrv.com/ ]

http://yokensaka.com/centos/index.php?catid=10&blogid=1

apacheはここでだいたいどうにか入る↑

ln -s /usr/bin/perl /usr/local/bin/perl

perlのパスを→に変更

 

# which perl

perlのインストール場所。パスを調べるコマンド


 

 

サーバー独自のSSL自己署名証明書を作成します。 しかし独自に作成した証明書ではアクセス時に警告が出るため、商用で使う場合は ベリサイン 等の正規の認証局が発行する証明書を利用した方がよいでしょう。

 

[root@www ~]#

cd /etc/pki/tls/certs

[root@www certs]#

make server.key

umask 77 ; \

/usr/bin/openssl genrsa -aes128 2048 > server.key

Generating RSA private key, 2048 bit long modulus

………………………………………………++++++

………….++++++

e is 61251 (0x10001)

Enter pass phrase:

# パスフレーズ設定

Verifying – Enter pass phrase:

# 再入力

# 秘密鍵からパスフレーズを削除

[root@www certs]#

openssl rsa -in server.key -out server.key

Enter pass phrase for server.key:

# パスフレーズ入力

writing RSA key

[root@www certs]#

[root@www certs]#

make server.csr

umask 77 ; \

/usr/bin/openssl req -utf8 -new -key server.key -out server.csr

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter ‘.’, the field will be left blank.

—–

Country Name (2 letter code) [XX]:

JP

# 国

State or Province Name (full name) [e]:

Hiroshima

# 地域(県)

Locality Name (eg, city) [Default City]:

Hiroshima

# 都市

Organization Name (eg, company) [Default Company Ltd]:

GTS

# 組織名

Organizational Unit Name (eg, section) []:

Server World

# 組織の部門名

Common Name (eg, your server’s hostname) []:

www.server.world

# サーバーのFQDN

Email Address []:

xxx@server.world

# 管理者アドレス

Please enter the following ‘extra’ attributes

to be sent with your certificate request

A challenge password []:

# 空Enter

An optional company name []:

# 空Enter

[root@www certs]#

[root@www certs]#

openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650

# 有効期限が10年の自己署名証明書を作成

Signature ok

subject=/C=JP/ST=Hiroshima/L=Hiroshima/O=GTS/OU=Server World/CN=www.server.world/emailAddress=xxx@server.world Getting Private key

[root@www certs]#

chmod 400 server.*

 


 

SSL経由での暗号化通信ができるよう設定します。

[2]

httpd の設定です。

 

[root@www ~]#

yum -y install mod_ssl

[root@www ~]#

vi /etc/httpd/conf.d/ssl.conf

# 77行目:行頭の#を削除

DocumentRoot “/var/www/html”

# 78行目:#を削除しサーバー名指定

ServerName

www.server.world:443

# 105行目:証明書指定

SSLCertificateFile

/etc/pki/tls/certs/server.crt

# 112行目:鍵ファイル指定

SSLCertificateKeyFile

/etc/pki/tls/certs/server.key

[root@www ~]#

/etc/rc.d/init.d/httpd restart

Stopping httpd:

[ OK ]

Starting httpd:

[ OK ]


 

FTP接続の設定

SELinuxを無効化する | Smart -Web Magazine

#!/bin/bash

 

for user in `ls /home`

do

   id $user > /dev/null 2>&1

   if [ $? -eq 0 ] && [ ! -d /home/$user/public_html ]; then

       mkdir -p /home/$user/public_html

       chown $user. /home/$user/public_html

       chmod 711 /home/$user

       echo $user

   fi

done

[root@centos ~]# sh userdirmake ← ユーザーディレクトリ一括作成スクリプト実行
user1



usern

[root@centos ~]# rm -f userdirmake ← ユーザーディレクトリ一括作成スクリプト削除

新規ユーザー追加時にユーザーディレクトリ(~/public_htmlディレクトリ)が自動で作成されるようにする
[root@centos ~]# mkdir /etc/skel/public_html ← ユーザー追加時に~/public_htmlディレクトリが自動で作成されるようにする

# chown ginji:ginji /var/www/html/

フォルダの管理者を変更するコマンド「チェンジオウナー」ユーザー:グループ

他人のフォルダにローカルアクセスできるようにする

# chown ginzo:ginji / home/ginzo

# ll /home/soken/html

パーミッションを確認するコマンド。LL

 

# sudo gedit

vi editorがやたら使いにくいので、geditorでhttpd.confを編集したいと思った。

普通に開くと、読み取り専用になってしまったのでターミナルからこのコマンドを実行。

要するに管理者権限で編集出来るようにする

 

# rpm -q httpd

# /etc/rc.d/init.d/httpd start //apacheの起動コマンド。

# /etc/rc.d/init.d/httpd stopで終了

/etc/rc.d/init.d/httpd reload リスタート

# vi /etc/samba/smb.conf  //samba設定ファイルをviエディタで編集する

[html] # テキトーに好きな名前指定

  path = /var/www/html  //ApacheのDocmentroot

  writable = yes

  create mode = 0770

  directory mode = 0770

  share modes = yes

  guest ok = no# ゲストは不許可

  valid users = @ginji

write list = AD-DOMAIN+cent, AD-DOMAIN+ginji

\windows共有にし書き込み権限を与える。

 

# chmod 755 /var/www/html/index.html このフォルダのこのファイルのパーミッション変更

Windowsで共有後に作ったので acccess Fer bidden が出てしまったため。

 

/etc/init.d/smb restart

 


 

203.179.251.243■CentOS 6.4でPPTP VPNサーバーを構築

ローカル接続まではOK ルーター越しは行かない。

ちなみにローカルIPではサーバー(リモートホスト)が192.168.0.241で疎通

 

avastインストール

cd /usr/local/src DLフォルダ変更

 

ダウンロードコマンド wget

wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.el6.i686.rpm

 

インストールコマンド rpm

rpm -Uvh pptpd-1.3.4-2.el6.i686.rpm –nodeps

fd203-179-251-243.feba.jp

REMOTE_ADDR

203.179.251.243

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

 


 

http://centossrv.com/postfix.shtml メールサーバー

 

変数宣言

 

修飾子の最後はメンバ変数とメソッドの修飾子です。

メンバ変数の修飾子には「public」「protected」「private」「final」を指定できます。

メソッドにはこれらに加えて「abstract」を指定できます。

メンバ変数 public このメンバ変数はどこからでも参照できます。

protected このメンバ変数は同じパッケージか、このクラスを継承したクラスからしか参照できません。

省略 このメンバ変数は同じパッケージからしか参照できません。

private このメンバ変数は自分のクラス内からしか参照できません。

final このメンバ変数の値を初期値から変更することはできません。

メソッド public このメソッドはどこからでも参照できます。

protected このメソッドは同じパッケージか、このクラスを継承したクラスからしか参照できません。

省略 このメソッドは同じパッケージからしか参照できません。

private このメソッドは自分のクラス内からしか参照できません。

final このメソッドをオーバーライドすることはできません。

abstract このメソッドは抽象メソッドです。

メンバ変数にfinalをつけると、そのメンバ変数は初期値で指定した値から変更できなくなります。

つまり、finalをつけるとそのメンバ変数は定数となります。

staticはメソッドとメンバ変数につけることのできる修飾子です。

staticをつけたメソッドを「静的メソッド」、staticをつけたメンバ変数を「静的(メンバ)変数」といいます。

この「静的メソッド」「静的(メンバ)変数」はクラスをインスタンス化しなくても使用することができます。

構文は

クラス名.メソッド名();

クラス名.変数名;

//staticメソッド実行

StaticTest.showMessage();

他のファイルの変数参照

 //参照する変数の宣言

 CSVViewer kaito2Array; //(クラス名 変数名;)

 kaito2Array = new CSVViewer();//インスタンス化

Java他言語との違い

 

<

if(!文字列.equals(“”)){ System.out.println(mojiretsu]);//equalsメソッドの否定

部分一致かどうかを調べるには次のように記述します。

String s1 = “Stringクラスは文字列を表します。”;

String s4 = “クラス”;

if (s1.indexOf(s4) != -1) {

   // 部分一致です

}

else {

for (int i = 0; i < data.length; i++){

// ↑これが
// ↓こう書ける

for(String s : list) {
System.out.println(s);
}

int num = Integer.parseInt(b);  //intに変換

String b = Integer.toString(i);  //文字列に変換

String kinStr=String.valueOf(kari_kin);  //char型を Stringに変換

配列のダンプ

String[] arr = { “abc”, “def” };
System.out.println(Arrays.toString(arr));

‘ シングルクォートで囲むとchar型

“ はString型

IMG_3419

.jarにメイン・マニフェスト属性がありません

たいていの場合マニュフェスト属性が無いことが原因ではなくExportの際に指定しているmain classが間違っている

jar ファイルコンソール実行 eclipse

File → Export → Runnable JAR
Lunch configration → 実行するクラス名(正確に)

 
  C:\jsoup\bin>java -jar scraping.jar    ← 実行ファイルが書き出された場所