我尝试制作一个RegEx来验证javascript中的表单。 RegEx应该只允许使用逗号和标点符号。例如,我有这个字符串:
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);"/>
答案 0 :(得分:3)
你可能需要逃避“。”因为这是正则表达式中的特殊字符。
/^[A-Za-z0-9,\. ]{3,50}$/;
实际上可能不是。尝试使用http://www.regextester.com/ - 无论如何我能够让它工作。你能告诉我们你如何实现这个的完整代码吗?
答案 1 :(得分:0)
如果你想在字段的开头没有标点符号:
/^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/
这也允许空格(一个场景就是这个名字 - De La Hoya,或O'Doul)