2012-04-11 120 views
2

我尝试使用RegEx来验证JavaScript中的表单。正则表达式应该只允许使用逗号和标点符号。比如我有这个字符串:RegEx in javascript。只允许使用字母,逗号和标点

Hi, this is a test of RegEx. Does it work 

我已经试过以下

/^[A-Za-z0-9,. ]{3,50}$/; 

但它似乎并不工作。解决方案?

谢谢!

编辑:

<script type="text/javascript"> 
    var RE_SSN = /^[A-Za-z0-9,. ]{3,50}$/; 

    function checkSsn(ssn){ 

    if (RE_SSN.test(ssn)) { 
    alert("OK"); 
    javascript:addAppointment(document.forms[0]) 

    } else { 
     alert("NO!"); 
    } 
    } 
    </script> 

<div id="r"> 
    <label for="receipt">Receipt</label><input type="checkbox"  name="receipt" value="1"/> 
</div> 

<input type="button" value="Post it" onclick="checkSsn(this.form.content.value);"/> 
+1

Works的我。请向我们展示您的实际代码。 – 2012-04-11 12:11:35

+1

'this.form.content.value'是否包含任何内容? – m90 2012-04-11 12:15:26

回答

3

您可能需要逃避:

这是我的代码 “”因为这是正则表达式中的特殊字符。

/^[A-Za-z0-9,\. ]{3,50}$/; 

其实可能不是。尝试使用http://www.regextester.com/ - 无论如何,我都能够正常工作。你能向我们展示你如何实现这个的完整代码吗?

+0

我已经设法用您的示例完成任务。谢谢 – 2012-04-11 12:20:50

+0

。不需要在字符序列([])中转义,我相信只有 - 和^做 – th317erd 2016-07-27 21:00:55

0

,如果你想在外地的开头没有标点符号:

/^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/ 

这也使空间(这一​​个场景是姓氏 - 霍亚,或O'Doul)

相关问题