2012-03-01 15 views
1
var regExpress = "/^([a-zA-Z0-9\!\@\#\$\%\^\&\*\(\)\-\+\=\|\}\{'\"\;\:\?\/\.\,\s]*)/i"; 

if (strMessage.search(regExpress) == -1) { alert("error occurs"); } 

ほとんどすべての文字を許可します。 他のアプリケーションの書式設定の問題のために使用したいと思います。 ユーザが別のアプリケーションから切り取って貼り付けたときには、 は、私が注意する必要のある奇妙な文字を追加します。 しかし、私は-1回の返答を得るたびに正しくありません。JavaScriptの正規表現、私は間違って何ですか?

この正規表現で何が問題になっていますか?

+2

あなたは大量に*エスケープしています。すべてのキャラクターから脱出するのはナンセンスです。あなたの正規表現は '/ ^([a-zA-Z0-9!@ $%^&*()\ - + = |} {'";:?/。、\ s] *)/ i'です。 – Tomalak

+0

どういうわけか、最後にドル記号がないので、 'search()'は 'match()'でなければならないと思います。 –

答えて

2

はすなわち、式を引用二重引用符を削除しないでください:

var regex = /.../i; 
+0

wow ...それはやりました – ana

0
var myNewString = strMessage.replace(/[^A-Z0-9]+/i, ""); 

は、あなたができるようにしたいものは何でもして^の後の括弧内の文字を交換してください。

+0

"エラーが発生しました" –

+0

投稿された正規表現は無効ですJavaScriptで引用符で囲まれていませんこれは正規表現を使って文字を削除する方法です – LandonSchropp

+0

これは当てはまりますが、あなたの正規表現と置き換えは、質問と一貫していません... –

関連する問題