2011-04-28 4 views
1

IEで動作する正規表現に従うが、FirefoxやChromeは動作しません。firefoxとchromeの正規表現

function CheckValidText(comment) { 
    var regex = new RegExp("^[A-Za-z0-9\*]{1}+[A-Za-z0-9[:blank:]]*"); 
    var regExpr = new RegExp(regex); 

    var result = comment.search(regExpr); 
    if(comment.search(regExpr) != -1){ 
     return true; 
    }else { 
     return false; 
    }  
} 

ありがとうございます。

答えて

0

あなたの問題は、このビットは次のとおりです:{1}{1}+

、あなたは正確に一つ前号のをspecifiyingている....しかしその後+で、あなたが指定しているだけで文字列を使用しますそれらの1つ以上。彼らはお互いに葛藤している。

要件に応じて、{1}または+を削除する必要があります。

これらのいずれかを削除すると、コードはFirefoxで機能します。 (Firebugを使ってテストした場合)

しかし、@ Guffaによれば、別の正規表現オブジェクトを作成しているところでは、幾分奇妙なロジックがあるようです。実際にはうまくいかないが、他の問題を引き起こす可能性があります(Chromeでまだ試していません)。

+0

thnx..youはすごいです.. – anonymous

1

RegExpオブジェクトを使用して別のRegExpオブジェクトを作成していますが、これはどのブラウザーでも機能しません。

var regex = "^[A-Za-z0-9\*]{1}+[A-Za-z0-9[:blank:]]*"; 
var regExpr = new RegExp(regex);