2012-01-13 18 views
3

私はinput#first.val()が動的な動的ページに取り組んでいます。文字列に "__X__"が含まれているかどうかをテストし、警告があれば();

基本的に私は、デバイス名またはデバイスの解像度のどちらかである取得することがあります値..

セイinput#first.val()は、デバイス名であれば、"iPad"のように、私はそれ以上のアクションを必要といけません。

input#first.val()"1024 X 768"のようなデバイスの解像度である場合は、ユーザーに警告します。

したがって、input#first.val()がデバイスの解像度であるかどうかを検出しますか?

それはこれらのいずれかのように見えることができるようにまた、デバイスの解像度は、ダイナミックになります...

  • "1024 X 768"
  • "480 X 640"
  • 320x48 "

よくあることは" _ X _input#first.val()_ X _ " "

それでは、どのように私は、検出しない" とユーザーに警告?

おそらく:containsと文字列オブジェクトですか?

<input type="text" id="first" name="name" value=""/> 
+1

なぜあなたは正規表現onChangeに対してそれをチェックしないのですか? – prodigitalson

+0

':contains'? jQueryをすべてのための最初のソリューションにしないでください。 JavaScriptを学ぶ。 –

+0

私はこれを参照していました:http://api.jquery.com/contains-selector/を含んでいます。私はjQueryでかなり弱いです。 – MANnDAaR

答えて

4

あなたが正規表現でそれをテストすることができます説明として

if ($("input#first").val().match(/\d+\s*X\s*\d+/i)) { 
    // value contains ddd X ddd 
} 

、この正規表現は次のとおりです。

a series of one or more digits 
followed by zero or more whitespace elements 
followed by an "X" or "x" 
followed by zero or more whitespace elements 
followed by a series of one or more digits 

あなたは他に何も存在しないことを要求する場合解決番号を使用することができます:

if ($("input#first").val().match(/^\d+\s*X\s*\d+$/i)) { 
    // value contains ddd X ddd 
} 

あなたはそれぞれ数は少なくとも3桁の数字であることを必要とする場合は、これを使用することができます:

if ($("input#first").val().match(/^\d{3,}\s*X\s*\d{3,}$/i)) { 
    // value contains ddd X ddd 
} 

また、セレクタだけではなく、「#firstとして「最初の入力#」を使用するには何らかの理由があります"?より短いバージョンはセレクタエンジンのための作業が少なく、idはページ内で一意でなければならないので、入力タグになかった#firstを何とかフィルタリングしようとしない限り、同じ結果を生成するはずです(そう思わないでしょう)。

+0

あなたが投稿したときに正規表現をテストしていました。私の貧しい人の正規表現のパラメータのメモリ:) –

+0

私に説明してくれてありがとう@ jfriend00 !!それは完璧に動作します.. – MANnDAaR

関連する問題