2013-01-16 60 views
1

我知道這可能是你們中許多人很容易,但我還是堅持了下來。它殺死我的時間。當我在網上進行研究時,我得到了許多正則表達式來檢查數字,數字和字母數字,但我無法更改代碼以滿足我的要求。我希望用戶只在給定的文本框中輸入文本(因爲實際上人名不包含任何特殊字符或任何數字)。允許空格,因爲用戶可能想要輸入名字和姓氏。正則表達式,以允許用戶只輸入文本,而不是字母

我使用jQuery驗證

jQuery(function(){ 
      jQuery("#userName").validate({ 
       expression: "if (VAL) return true; else return false;", 
       message: "Please enter the Required field(Only text is allowed)" 
      }); 
      jQuery("#userName").validate({ 
       expression: "if (isNaN(VAL)) return true; else return false;", 
       message: "Please enter Only text" 
      }); 
      jQuery("#userName").validate({ 
       expression: "if (VAL.match(/^([a-zA-Z0-9_-]+)$/)) return **false**; else return **true**;", 
       message: "Please do not enter alpha numeric values" 
      }); 

1日2個驗證以下是完美的工作努力。最後一個與我的查詢有關。請幫助我。很多人提前感謝。 :)

謝謝大家特意npinti,下面的代碼現在工作。

 <script type="text/javascript"> 
     reg = new RegExp('^[A-Za-z ]+$'); 
     /* <![CDATA[ */ 
     jQuery(function(){ 
      jQuery("#userName").validate({ 
       expression: "if (VAL) return true; else return false;", 
       message: "Please enter the Required field(Only text is allowed)" 
      }); 
      jQuery("#userName").validate({ 

       expression: "if(reg.test(VAL)) return true; else return false;", 
       message: "Please enter only text" 
      }); 

回答

4

這個正則表達式應該匹配你所需要的:^[A-Za-z ]+$。這將匹配任何字母(下限和上限的情況下,通過A-Za-z表示)和空格。所述+表示它將匹配的一個或多個重複,並且^$錨指示正則表達式引擎的整個字符串相匹配。

如果你想有一個更強大的正則表達式,這意味着一個將滿足非英文字母,你可以使用類似這樣:^[\p{L} ]+$。這是和以前一樣,唯一的區別是,\p{L}迎合任何字母在任何語言(從here拍攝)

EDIT(上,下):按照@ thg435建議,\p{L}將無法​​正常工作,因爲這是不受JavaScirpt支持。

+0

您好npinti ...感謝您的答覆。我的疑問是,當我輸入name1或1name或name @或@name時,不應允許輸入。但他可以插入字符串(名稱)。我試着用你的正則表達式。它不工作。請幫助我。提前致謝。 –

+0

@ShashiRoy:你能否更新你的問題,你嘗試過什麼,失敗了? – npinti

+0

Hi npinti ...抱歉,最後一篇文章。它的工作完美。在腳本部分應用您的代碼時出現了一個錯誤。現在正在工作的代碼我已經更新了上面的問題。非常感謝您節省我的時間:) –

0

我想你應該開始正則表達式對象,而不是使用VAL.match。試試這個第三次驗證:

jQuery(function(){ 
    First initiate regex 
    reg = /[a-zA-Z0-9_-]/ 
    //or 
    reg = new RegExp('[a-zA-Z0-9_-]'); 

    jQuery("#userName").validate({ 
     expression: "if (reg.test(VAL)) return **false**; else return **true**;", 
     message: "Please do not enter alpha numeric values" 
    }); 
}); 
+0

嗨...謝謝你的迴應。它適用於檢查字母數字值,但不允許輸入簡單文本。 –

相關問題