2017-04-11 94 views
2

我的java腳本正則表達式驗證需要以下條件。javascript正則表達式驗證函數

  1. 只接受字母值
  2. 不要只接受數值
  3. 不要只接受特殊字符
  4. 接受

我寫了下面的代碼,以字母數字和特殊字符值的組合實現它

function validateAlphaNumChar(str) { 

     var filter = /^[ [email protected]@./#&+-]*$/; 
     if (filter.test(str)) { 

      return true; 
     } 
     else { 

      return false; 
     } 
    } 

,我也嘗試了不同的正則表達式,但從未達到預期的效果。

請幫我用正確的正則表達式進行驗證。

謝謝

+3

https://regex101.com/試試這個網站,你的正則表達式來工作,它確實有助於 –

+0

* *給所有可能的答覆者** - 我們能不能「只提供代碼」?至少試着幫助OP自己去那裏。 – evolutionxbox

+1

使用函數,因爲你有3個矛盾條件 – BhandariS

回答

0

因爲,有必要在你的字符串字母,簡單地檢查該

function validateAlphaNumChar(str) { 

     var filter = /^[ [email protected]@./#&+-]*$/; 
     var filterAlphabets = /^[ A-Za-z]*$/; 
     if (filter.test(str)) { 
      if (filterAlphabets.test(str)){ 
      return true; 
      } 
      else{ 
      return false; } 

     } 
     else { 

      return false; 
     } 
    } 

這是假設數字和特殊字符的組合是不允許

+0

嘗試過,但仍然有一些條件不起作用,例如。 A @ this returns false – Shrikrishna

+0

編輯了代碼 - 再試一次 – BhandariS

+0

仍然無法正常工作 – Shrikrishna

0

如果我理解這個問題,它應該是這樣的

  1. Check如果它僅包含數字
  2. 檢查是否只包含特殊符號

function validateAlphaNumChar(str) { 
 
     var filterABC = /^[A-Za-z]*$/; 
 
     var filterNUM = /^[0-9]*$/; 
 
     var filterSPEC = /^[[email protected]@./#&+-]*$/; 
 
     if (filterNUM.test(str)) { 
 
      return false; 
 
     } else if(filterSPEC.test(str)) { 
 
      return false; 
 
     } else { 
 
      return true; 
 
     } 
 
     
 
     
 
    } 
 
    
 
    
 
document.getElementById("demo").innerHTML = validateAlphaNumChar("[email protected]");
<p id="demo"></p>