2013年11月11日月曜日

開発環境

『初めてのJavaScript 第2版』(シェリー・パワーズ著(Shelley Powers著)、武舎 広幸+武舎 るみ訳、オライリージャパン、2009年、ISBN978-4-87311-425-5) の8章(フォームと検証)、練習問第8-2.をDartで解いてみる。

その他参考書籍

練習問第8-2.

コード

sample.dart

import 'dart:html';

void main(){
  var name = querySelector('#name'),
      zip = querySelector('#zip'),
      address = querySelector('#address'),
      passwd = querySelector('#passwd'),
      textarea = querySelector('#textarea'),
      b0 = querySelector('#b0');
  name.onBlur.listen((event){
    var text = event.target.value;
    if (text == '' || text == null){
      window.alert('名前を入力して下さい');
    }
  });
  zip.onBlur.listen((event){
    var pattern = new RegExp(r'^\d{3}[-]?\d{4}$');
    if (!pattern.hasMatch(event.target.value)){
      window.alert('郵便番号の形式が違っています');
    }
  });
  address.onBlur.listen((event){
    var pattern = new RegExp(r'[0-9]');
    if (pattern.hasMatch(event.target.value)){
      window.alert('住所に半角数字を含めないで下さい');
    }
  });
  passwd.onBlur.listen((event){
    var pattern = new RegExp(r'^.{8,}$');
    if (!pattern.hasMatch(event.target.value)){
      window.alert('パスワードは8文字以上にして下さい');
    }
  });
  b0.onClick.listen((MouseEvent event){
    var result = '',
        inputs = querySelector('#d0').querySelectorAll('input');
    inputs.forEach((Element e){
      if (e.getAttribute('type') != 'button'){
        result += e.value + '\n';
      }
    });
    textarea.text = result;
  });
}
名前:
郵便番号:
住所:
パスワード:

0 コメント:

コメントを投稿