2016-04-14 62 views
0
validateName = function (str) { 
       if (((/[[email protected]#$%^&*()_+=-`~,.<>;':"\/\[\]\|{}(_+]/)).test(str)) { 
      return false; 
     } 
     if (str.length <= 2 || str.length >= 19) { 
      return false; 
     } 
     return true; 
    } 

嗨,在上述正則表達式我試圖接受的名稱是3至20個字符之間,它不應該有任何的特殊字符,它可以包含字母數字字符。 問題是不允許我使用大寫字母。 它也可以接受任何語言的單詞。 謝謝。正則表達式問題特殊字符轉義

+0

取代複雜的正則表達式用簡單'/ \ w + /' – gurvinder372

回答

0

你必須包括您從其他語言的希望所有的字符,否則下面的正則表達式就足夠了

var regex = /[^\w\s]+/; 

例如

validateName = function (str) { 
    var regex = /[^\w\s]+/; 
    if (regex.test(str) || str.length <= 2 || str.length >= 19) 
    { 
     return false; 
    } 
    return true; 
} 
+0

它也工作了! – binitgutka

+0

記住'\ s'的用法是用於空格,名字可以包含空格 –

0

你可以簡單地用

validateName = function (str) { 
    if ((/\W+/).test(str) || str.length <= 2 || str.length >= 19) 
    { 
     return false; 
    } 
    return true; 
} 

\W+檢查所有特殊字符替換你的方法。