2015/03/27

[JavaScript]正規表現に変数を使う

正規表現で変数を使うことはできないのだろうか?
正規表現を使ったマッチングに変数を使用する
で確認すると、以下のようにすればいけそう。

var base_str;
var str = '';
var regexp = new RegExp(str, 'g');
var arr = base_str.match(regexp);
console.log(arr)
これかなり便利なテクニックだなー。

2015/03/26

[JavaScript]検索文字の個数をカウント

文字列から任意の文字を検索した時に、その検索文字が合計何個あるか知りたくなったとき、どうすればいいのだろうか?

文字列の個数について

で確認すると、以下のようにすればいけそうだ。

var str = "foo";
var n = str.split("o").length - 1;
alert("oの数は" + n);
これ、すっげー、便利。

2015/03/25

[PHP]ヒアドキュメント内で関数を実行

ヒアドキュメントの中でPHP関数を実行したい場合、どうすればいいのだろうか?

PHPのヒアドキュメント内で関数を使う。計算もしたい。
によると、いったん、変数に設定すればいけるみたい。

試しに、rand関数でやってみることに。

$rand = "rand";
print <<< EOF
{$rand(1,99)}
EOF;
確かに出力された。

これは便利ー。

2015/03/24

[jQuery mobile]アイコンつきボタンの作成方法

Iconsを確認しながら、jQuery mobileを使ってアイコンボタンの作り方を調査しました。

<a href="#" class="ui-btn ui-icon-bars ui-btn-icon-notext ui-corner-all"></a>
ui-icon-XXXの「XXX」を変更していけば、気に入ったアイコンにすることができます。

なんて簡単なんでしょう!!

2015/03/23

[jQuery mobile]jQuery mobileでナビゲーションバーを表示

jQuery mobileを使ってナビゲーションバーを表示する方法を調査しました。

Navbarを見ると純粋に下記のコードでいけそうだ。

<div data-role="navbar">
  <ul>
    <li><a href="/" class="ui-btn-active">hoge</a></li>
    <li><a href="#" >foo</a></li>
  </ul>
</div>
これ、すごくいけるのは、クリックするとアクティブが自動的に切り替わってくれるところ。

なので、onメソッドでクラスの切り替えをしなくていいのがいいですね。

2015/03/22

[jQuery mobile]jQuery mobileでローディング画面を表示

jQuery mobileを使ってローディング画面を表示する方法を調査しました。

Loaderを見ると純粋に下記のコードでいけそうだ。

$.mobile.loading( "show", {
      text: $.mobile.loader.prototype.options.text,
      textVisible: false,
      theme: $.mobile.loader.prototype.options.theme,
      textonly: false,
      html: ""
});
クローズする場合は、下のコードで。
$.mobile.loading( "hide" );
ただ、これだけだと、ローディング中でもコンテンツにタップできてしまうので、マスクをつけてタッチさせないこともできる。
var $html = $('html,body');
var $mask = $('<div class="mask"></div>');
$html.append($mask);
$.mobile.loading( "show", {
      text: $.mobile.loader.prototype.options.text,
      textVisible: false,
      theme: $.mobile.loader.prototype.options.theme,
      textonly: false,
      html: ""
});
クローズする場合は、下のコードで。
$.mobile.loading( "hide" );
$('.mask').remove();

2015/03/21

[iOS][Objective-C]AccountsFrameworkを使ったソーシャルサービスのログインについて

実は、下記のプログラムを実行した時に、countが0を返す時があるみたいです。

ACAccountStore *aCAccountStore = [[ACAccountStore alloc] init];
ACAccountType *aCAccountType = [aCAccountStore accountTypeWithAccountTypeIdentifier:(ACAccountTypeIdentifierTwitter || ACAccountTypeIdentifierSinaWeibo)];
[aCAccountStore requestAccessToAccountsWithType:aCAccountType withCompletionHandler:^(BOOL granted, NSError *error) {
    if (granted) {
        dispatch_async(dispatch_get_main_queue(), ^{
          NSArray *acAcounts = [aCAccountStore accountsWithAccountType:aCAccountType];
          NSUInteger count = [acAcounts count];
        });
    }else{
        NSLog(@"not grandted");
    }
}];
権限も許可されてエラーも特にないんだけど、いざ、アカウントの情報を取得しようとしたら0件だったという状況。

appleの審査でもこの状況を突っ込まれるので今後、注意していきたい。

2015/03/20

[JavaScript]全角ひらがな全角カタカナ半角カタカナ判定

昨日は、文字列が漢字かどうか判定する処理を書きましたが、今日は、ある文字が全角ひらがな、全角カタカナ、半角カタカナかどうかを判定する方法を書きたいと思います。

そのまま使える正規表現集 for regExp (javascript)を参考にすると以下のように書けるかなと。

if( c.search(/^[ぁ-んァ-ン゙゚]+$/) > -1){
 //全角ひらがな、全角カタカナ、半角カタカナの場合の処理
}

2015/03/19

[JavaScript]漢字判定

ある文字が漢字がどうかを判定する必要があったので、調査してみた。
[javascript] javascriptで日本語文字の種類(漢字・ひらがな・カタカナ)を判別するためのメモ
によると以下のプログラムでいけそうだ。

function isKanji(c){ // c:判別したい文字
    var unicode = c.charCodeAt(0);
    if ( (unicode>=0x4e00  && unicode<=0x9fcf)  || // CJK統合漢字
         (unicode>=0x3400  && unicode<=0x4dbf)  || // CJK統合漢字拡張A
         (unicode>=0x20000 && unicode<=0x2a6df) || // CJK統合漢字拡張B
         (unicode>=0xf900  && unicode<=0xfadf)  || // CJK互換漢字
         (unicode>=0x2f800 && unicode<=0x2fa1f) )  // CJK互換漢字補助
        return true;
    return false;
}
これは便利。

2015/03/18

[JavaScript][iOS]バージョン判定

JavaScriptを使ってiOSのバージョン判定をする必要があったので、ちょっと調査しました。

iOS7のMobile Safri挙動がおかしい件で確認すると、下記のプログラムでいけそうだ。

(function (){
  if (navigator.userAgent.match(/OS 6/i)) {
    return true;
  }else{
    return false;
  }
}());
上の例は、iOS6の場合、true、そうではない場合は、falseを返す仕様です。

メジャーバージョンはこれで判定できますね。