2014-06-13 94 views
-2

用於驗證名字和姓氏字段。及以下要求用於名字和姓氏的正則表達式

  • 塊特殊字符
  • ATLEAST一個字母
  • 字母數字允許

正在使用此正則表達式:

firstNamenoSpecialChar:

/^[a-zA-Z0-9\s_]*[a-zA-Z][a-zA-Z0-9\s]*$/ 

我需要添加一個條件:長度應該是最小2和最大25

請幫助。

+5

我希望你只用於遊戲,而不是現實世界......有**許多**真正的名字和姓氏,你會 拒絕。 –

+1

如果我的名字是精武怎麼辦? :( – Halcyon

+0

德語名稱如「Müller」將被阻止? – Nano

回答

0

此正則表達式將做到這一點:^(?=.*[A-Za-z])(?=.{2,25}$)[\w ]+$ 它採用了一系列積極的向前看符號的實際消耗的有效字符之前檢查的條件。

這裏的故障:

(?=.*[A-Za-z])至少需要一個字母

(?=.{2,25}$)需要的字符整個字符串

[\w ]+只允許字母,數字,下劃線和空格2和25之間(我不知道爲什麼你想要下劃線,雖然)

+0

它不允許我把它標記爲有用..謝謝大腦.. – krishna

+0

也如果你有一些很好的鏈接來閱讀這個話題,那麼這將會有幫助。謝謝.. – krishna

0

一個簡單的方法可能是創建一個函數,看起來像:

function validateName(strName){ 
    var nameValide = true; 
    if(strName.length<2){ nameValide = false; } 
    if(strName.length>25){ nameValide = false; } 
    // validate that only the valide caracter are in the string 
    if(strName.replace(/a-Z/g,'') != ''){ namValide= false;} 
    return nameValide; 
} 
+0

感謝大衛,將試試看.. – krishna

+0

也我覺得你真的值得這些徽章和聲譽至少你做了一些嘗試.. – krishna

相關問題