2011-10-17 17 views
0

でアルファベットと数字の(順序)私はobj2
のような有効なCSSクラス名を持っている:NaN
を今私はの位置を変更したいです私が手に入れた文字と数字:2objの変更位置の文字列

どうすればいいですか?

+0

なぜあなたはalfabetic文字を含む文字列でのparseIntを使用しますか? –

+0

私はこのメソッドを使って文字を取り除き、Numberだけを取得します。この例ではInteger "2"になります。 – Tomkay

+0

文字列の数字部分だけが必要ですか?例えば。文字列 'inner-wrap-420px'から' 420'を返しますか? –

答えて

0

クラスは数字で始めることはできません。 JSで

しかし、次のことができます。

var className = "obj2"; 
var number = className.replace("obj", ""); 

今:number is String("2")parseFloat(number) is Number(2)

0

数は常に3はalfabetic文字をprecendingした後、あなたが方法でこれを実現しようとすることができるの最後の文字が常にある場合substrのように。テキストに常に "obj"のような固定された文字列が含まれている場合は、その文字列からその文字列を削除し、残りの文字を番号とともに使用することもできます。

0

おそらく正規表現と一致するグループは、あなたが望む結果を得るための道です。

アルファベット文字の後の数字と一致する正規表現を宣言し、入力文字列に適用して、最後に再アセンブルします。

var regex = /([a-zA-Z]*)(\d+)/; 
var matches = regex.exec("obj2"); 
var numeric = matches[2]; 
var myInt = parseInt(numeric); 
var alpha = matches[1]; 
var newFormat = numeric+aplha; 

しかし、あなたはそれが数字で始まるので、CSSクラスとして許可されます。 JavaScriptで正規のexpresionsの詳細については

http://www.regular-expressions.info/javascript.html

関連する問題