[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

regexpに関するVoQnのブックマーク (3)

  • 正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

    正規表現によるバリデーション等で、完全一致を示す目的で ^ と $ を用いる方法が一般的ですが、正しくは \A と \z を用いる必要があります。Rubyの場合 ^ と $ を使って完全一致のバリデーションを行うと脆弱性が入りやすいワナとなります。PerlPHPの場合は、Ruby程ではありませんが不具合が生じるので \A と \z を使うようにしましょう。 はじめに 大垣さんのブログエントリ「PHPer向け、Ruby/Railsの落とし穴」には、Rubyの落とし穴として、完全一致検索の指定として、正規表現の ^ と $ を指定する例が、Ruby on Rails Security Guideからの引用として紹介されています。以下の正規表現は、XSS対策として、httpスキームあるいはhttpsスキームのURLのみを許可する正規表現のつもりです。 /^https?:\/\/[^\n]+$/

    VoQn
    VoQn 2014/03/04
    js の正規表現で ^ $ 多用してたので混同しそうだ。気を付けねば…
  • JavaScriptでstrip - おもしろwebサービス開発日記

    RubyのStringクラスには、文字列の左右の空白を除去するメソッドstripが存在します。でもJavaScriptにはありません。なのでJavaScriptで同じ機能を実装しようとしたのですが、最初はうまいやり方がわからず、下記のようにreplaceメソッドを二回使っていました。 " ho ge ".replace(/^\s*/, "").replace(/\s*$/, ""); // => "ho ge" でもこれはどう考えてもcoolじゃありません。どうやったらきれいにできるのかなーと思いつつ正規表現のを読んでたら、最小量指定子を使う方法を思いつきました。 " ho ge ".replace(/^\s*(.*?)\s*$/, "$1"); // => "ho ge" これでcoolになりました。正規表現ももう少し勉強する必要があるなー 参考 詳説 正規表現 第3版 作者: Jef

    JavaScriptでstrip - おもしろwebサービス開発日記
    VoQn
    VoQn 2011/09/10
    文字列の左右の空白を抜く Ruby の strip の JavaScript 実装
  • 正規表現に見切りをつけるとき

    Perl, Rubyなど手軽に使えるプログラミング言語に慣れてくると、あらゆるテキストデータの処理に正規表現(regular expression)を使ってしまいがちです。 けれど実は、正規表現の処理能力を超えるフォーマットというのが存在します。その典型的な例が、XMLやJSONのように、入れ子になったデータフォーマットです。

  • 1