2016-12-01 23 views
0

正しく機能するようにこの関数を変更する必要があります。アルファベット、スペース、アポストロフィー以外のすべてを制限することになっています。現在でもアポストロフィはまだ制限されています。私はパターン '\ _'がすべての特殊文字を参照していると仮定しています。この関数にどのように例外を挿入しますか?正規表現についてはテキストボックス内の文字を制限する

function NameNotNA (s) { 
     var pattern; 
     if (s.toUpperCase().indexOf('N/A') != -1){ 
      //console.warn('failed in n/a'); 
      return false; 
     } 
     // Eliminate possibility of digits 
     pattern = /\d/; 
     if (s.match(pattern) != null) { 

      //console.warn('failed in \d'); 
      return false; 
     } 

     pattern = /\_/; 
     if (s.match(pattern) != null) { 
      //console.warn('failed in \_'); 
      return false; 
     } 

     s = s.replace(/ /g, ''); 
     if (s.match(/\W/) != null) { 
      return false; 
     } 

     return true; 
    } 
+1

s.replace(/ [^ \ a-z \ s ']/ig、' '); – Annarfych

答えて

0
function nameNotNA (s) { 
    return s.replace(/[^\w\s']/g, ''); 
} 

、私が起こっている正確に理解するためにthis toolを使って好きです。また、クラスでない限り、関数名lowerCamelCaseを保持するとよいでしょう。

+0

返信いただきありがとうございます!私は "スロー/ \ s '/;を追加することによってそれを働かせることができました そのツールは便利です。将来は必ずそれを使用してください。 – TuCraiN

関連する問題