2016-11-23 17 views
0

我必須在我的應用上驗證一系列輸入。用戶可以輸入任何字符,導致該應用程序具有多語言支持。正則表達式處理所有字符(空格,加粗)除數字和特殊字符

所以我需要阻止只有數字和特殊字符但不突出的...

你們能幫忙嗎?

我的代碼:

var textInputs, 
AllowRegex = [A-Za-z\u00c0-\u017e ]; 

     textInputs = document.querySelectorAll('input[type=text]'); 


     for(i = 0; i < textInputs.length; i++){ 
      if (!AllowRegex.test(textInputs[i].value)){ 
       alert(textInputs[i].value); 
      } else { 
       $obj.list[i] = textInputs[i].value; 
      } 
     } 

     console.log($obj.list); 

回答

1

可以使用Unicode範圍包括所有你需要的特殊字符。

\[A-Za-z\u00c0-\u017e ]\

將覆蓋大部分,但可能不是所有的人。您可以在this website上查找您需要的特定字符代碼。正如您在上面的示例中看到的那樣,您只需在\ u之前加上字符代碼,以表明它使用的是unicode。

應當指出的是,這不會與正則表達式的所有實現正常工作,但它使用JavaScript

+0

我修改了我的代碼問題的工作,但你給了正則表達式沒有工作。 發生引用錯誤「A未定義」 –

+1

愚蠢的問題,但是您是否將其作爲字符串進行復制和粘貼?用正則表達式你需要用反斜槓包圍它,或者把它作爲一個字符串參數給myRegex = new RegExp(「myRegex」)。我已經編輯了包含前者的答案,因爲它聽起來像是你把它放在JavaScript中認爲你的意思是一個變量 –

+0

幫助,但不是完全。如果我舉個例子?它阻止。好! 但是,如果我插入一個空格後,休息。 –

相關問題