2017-05-23 3 views
0

私は正規表現を作成するのは初めてですが、自分で作成したpdfファイルの名前の作成を検証する方法はわかりません。私はJavascriptでそれをやりたい、私はそれが重要かどうかわからない、特殊な文字やスペースなどをしたくない。どんな助けもありがとう。ありがとうございました。ファイル名に関するいくつかの一般的な慣行を想定しファイルの正規表現、特にpdf - Javascript

+1

*** "私は特殊な文字やスペースなどは必要ありません" *** - あなたはこれ以上具体的にする必要があります。 –

+0

これまでに何を試しましたか? *それが重要かどうかわからない* –

+0

@ PedroLobitoのコメントに追加するには...あなたに「特別な」とは何ですか?あなたが_invalid_ファイル文字を必要としないことを意味するならば、それはあなたがいるオペレーティングシステムに依存します(WindowsはMacOSとは異なります)。 – wrlee

答えて

2

、私は1つの英数字文字までのファイル名に制限を示唆している、スラッシュ、アンダースコアおよびいくつかのブラケット、その後、一般的に、私は一般的にコード

var patt =/^[a-z0-9_()\-\[\]]+\.pdf$/i; 
var fileName = "my_test.pdf"; 
if (fileName.search(patt) < 0) { 
    // filename doesn't match the Regex 
} else { 
    // filename matches the Regex 
} 

の以下の部分を使用しますJS regexはこの場合2つの部分を持っています。/regex/i正規表現は正規表現(doh)です。のスイッチで、 "ignore-case"を意味します。正規表現そのものには、az、0-9、アンダースコア、括弧、(エスケープ)スラッシュ、エスケープされた開閉記号、が少なくとも1回は許可されていることが必要です(+記号)。 (エスケープされた)ドットと "pdf"文字列が続くはずです。

^記号は「文字列の先頭」と「文字列の終わり」の$スタンドの略です。だから、これは、あなたがこのような状況を防ぐことができます:あなたは^$サインを入れていない場合は

%`some_valid_name.pdf``*\ 

、これは正規表現によると、有効な一致になります。

+0

ありがとうございます。しかし、私はいくつかの質問があります。 1-なぜpdfの後に$記号を置くのですか? 2 - スラッシュの後の^記号はどういう意味ですか? 3 - ドゥとは何ですか? –

+1

はい、申し訳ありませんが、それらを入れるのを忘れていました。それに応じて私の答えを変更しました。 – LIvanov

+0

ありがとうございます。それは私が探していたものでした。 –