2012-09-05 214 views
0

我使用jQuery的驗證插件來驗證表單文本字段。 我想通過只允許貨幣符號,字母和數字,但沒有其他特殊字符來驗證價格字段。jQuery正則表達式只允許貨幣符號和數字

我試過這個,但它允許其他特殊字符,如; 「:

^[a-zA-Z 0-9 € £]+$ 

我在做什麼錯 感謝

編輯:?!

代碼中的document.ready功能:

jQuery.validator.addMethod("acceptPrice", function(value, element, param) { 
      return value.match(new RegExp(param + "$")); 
     }); 

    $("#editForm").validate({ 
      onkeyup: false, 
    rules: { 


     priceField: { acceptPrice: "^[a-zA-Z0-9€£]+$" }, 


     } 
+1

那麼你不需要的空間(使用'^ [ a-zA-Z0-9€£] + $'),但即使使用正則表達式不允許其他標點符號(如分號)的空格。你可以在哪裏應用代碼? – nnnnnn

回答

0

您應該使用正則表達式^[a-zA-Z0-9€£]+$

即使你錯誤的模式不允許ch字符如;,":。你的代碼中必須有一些錯誤,而不僅僅是正則表達式模式。

UPDATE [1]

如果你想也允許空格字符,然後用正則表達式^[ a-zA-Z0-9€£]+$

UPDATE [2]

如果你想還允許十進制數字,你還需要允許點:^[. a-zA-Z0-9€£]+$

UPDATE [3]

的JavaScript表單驗證

<form name="myForm" action="form.php" onsubmit="return validateForm()" method="post"> 

...與腳本:

function validateForm() 
{ 
    // if error return false; 
    // if okay return true; 
} 
+0

謝謝,但它仍然不會讓我輸入「2歐元」,例如,是否因爲數字是在開始? – Dave

+0

@Dave - 你必須再允許空格!看到我更新的答案。向我們顯示驗證輸入的代碼。 –

+0

好一時間plz – Dave

相關問題