2012-09-05 169 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

相关问题