2012-04-11 89 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)

相關問題