Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的正则表达式。仅允许字母、逗号和标点符号_Javascript_Regex - Fatal编程技术网

javascript中的正则表达式。仅允许字母、逗号和标点符号

javascript中的正则表达式。仅允许字母、逗号和标点符号,javascript,regex,Javascript,Regex,我尝试使用正则表达式在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}$/; fu

我尝试使用正则表达式在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);"/>

变量RE_SSN=/^[A-Za-z0-9,.]{3,50}$/;
功能检查ssn(ssn){
if(重新SSN.测试(SSN)){
警报(“正常”);
javascript:addAppointment(document.forms[0])
}否则{
警惕(“不!”);
}
}
收据

您可能需要转义“.”,因为这是正则表达式中的一个特殊字符

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

实际上可能不是。尝试使用-我无论如何都能让它工作。您能否向我们展示您如何实现此功能的完整代码?

如果您希望字段开头没有标点符号:

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

这也允许使用空格(其中一个场景是姓氏-De La Hoya,或O'Doul)

对我有效。请出示您的实际代码。
此.form.content.value
是否实际包含任何内容?。不需要在字符序列([])中转义,我只相信-^do