2014-03-25 49 views
-3

我正在使用正則表達式檢查變量中字符串「input」的存在情況。但結果總是返回false。Javascript中輸入元素的正則表達式匹配

var srcString = '<input class=​"search-query span3 ng-valid ng-dirty" type=​"text" ng-model=​"currentInputValue" ng-change=​"update()​" placeholder=​"Filter by Car Name, Size, or Make">​ 
#shadow-root (user-agent) 
</input>​' 

var re = /input/; 

console.log(re.test(srcString)); 

任何關於我可能在這裏失蹤的線索?

+1

取出那是讓你的字符串字面聲明無效的換行符後,它的工作原理細:http://jsfiddle.net/5mdx7/ –

+1

刪除字符串'var srcString ='#shadow-root(用戶代理)' '。現在它將返回'true' – Praveen

+0

這是無效的Javascript,您需要跳過換行符,例如與\ – LoicAG

回答

1

嘗試更好的正則表達式來捕獲HTML標籤,而不是僅僅字input

var str = '<input class=​"search-query span3 ng-valid ng-dirty" type=​"text" ng-model="currentInputValue" ng-change=​"update()​" placeholder=​"Filter by Car Name, Size, or Make">​#shadow-root (user-agent)</input>​'; 

/<input.+?\/?>/.test(str); // true or false 
0
/input/.test('<input class=​"search-query span3 ng-valid ng-dirty" type=​"text" ng-model=​"currentInputValue" ng-change=​"update()​" placeholder=​"Filter by Car Name, Size, or Make">​ #shadow-root (user-agent) </input>​') 

返回true