2012-02-28 12 views
0
var existing = ""; 
if(disk.isLinux){ 
    var valinvalid = "/usr" ;    
    var valinput = /^\/[a-zA-Z]{2,}/ ; 
    if(!valinput.match(valinvalid)){  
     return "^/" + existing + "[^/][a-zA-Z]{2,}[^/]$"; 
    } 
} 

ここでは最初のif条件で次のことをしようとしています。 if(disk.isLinux):
1.少なくとも3文字でなければなりません。
2.最初の文字は/
でなければなりません。3.入力全体が "/ usr"と一致してはいけません。文なぜこのJavascriptの正規表現の仕事はありません

2)String.prototype.matchがRegExp.prototype.matchを存在する場合、これまで、これまで内部であってはなりませんvarsの)

1:しかし、それは物事のか/ usra

+0

あなたが一致している必要があります何のいくつかの例をpostrでしたし、何をすべきでない: – nana

+0

/usr、/ rootなどのデフォルトのlinuxディレクトリ以外のもの3文字以上で始まり/で始まるものは有効な入力です – Pradeep

+0

ここでは何が効いていませんか? –

答えて

0

カップル/私たちをすることができない

しかし、もっと重要なのは、あなたはちょうどそれが一致した場合、私たちは正規表現でテストをテストしようとしている場合は、すべての

if (
input.length < 3 || 
input.charAt(0) !== '/' || 
input === '/user' 
) { 
throw new Error("I'm not happy with the input"); 
} 
1

で正規表現を必要といけないん:

/^\/[\w]{2,}/.test("/usr/");  //true 

これはあなたがやろうとしていることですか?

var valinput = new RegExp("/^\/[a-zA-Z]{2,}/") ; 
if(!valinput.test(valinvalid)){ 
+1

あなたのサポートの皆様ありがとう " } $ "; - これはうまくいった。 – Pradeep

0

はあなたのコードを使用するように変更してみ?
関連する問題