看板 Ajax 關於我們 聯絡資訊
※ 引述《knives ()》之銘言: : ※ [本文轉錄自 RegExp 看板] : 作者: knives () 看板: RegExp : 標題: [問題] 為什麼這樣寫不會通過 : 時間: Wed Mar 3 13:41:49 2010 : 我想要過濾輸入 有 (PM),其中PM是不分大小寫的 : 我用這個 ([\w(]pm|PM|Pm|pM[\w)]) : 在這個站http://blog.roodo.com/rocksaying/archives/2670695.html 下方的測試表單 : 可以檢查出來 : 但是我拿到java script下面這樣寫 : var re = new RegExp('/([\w(]pm|PM|Pm|pM[\w)])/','g'); ^ ^ 這兩個是多的 也可以用另一種regex的寫法 var re=/([\w(]pm|PM|Pm|pM[\w)])/g ; : alert(userName.replace(re,"test")); : 其中的userName是個輸入框裡面的值 : 我測試的目標如果出現(PM)的字樣,就取代成test : 但是這樣寫,還是會alert出有(pm)的字樣用 : 請問該怎麼改才行 另外你要取代的是 (PM) 還是 PM , 你的寫法會是後者喔 也就是 var re = new RegExp('([\w(]pm|PM|Pm|pM[\w)])','g'); alert("123(PM)asdasd".replace(re,"test")); 結果會是 123(test)asdasd 另外你怎麼不直接這樣下就好了 ([\w(][pP][Mm][\w)]) 甚至是 var re=/([\w(]pm[\w)])/gi ; //i=ignore case -- I am a person, and I am always thinking . Thinking in love , Thinking in life , Thinking in why , Thinking in worth. I can't believe any of what , I am just thinking then thinking , but worst of all , most of mine is thinking not actioning... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 74.207.224.18
knives:感謝,我要取代連同括號的部份,是要怎麼改 03/03 13:53
TonyQ:var re=/[\w(][pP][Mm][\w)]/g ; 03/03 13:54
TonyQ:或 var re=/[\w(]pm[\w)]/gi ; 03/03 13:55