我正在从服务器的json获取以下正则表达式

regexval = ^[A-Za-z\\'\\s\\.\\-\\,]{1,50}$


这个正则表达式有一个问题,它有一个'破坏了我的js代码来测试这个正则表达式。我如何使它成为有效的正则表达式?

我正在做这样的事情来测试它

if(!regexval.replace(/\\/g,"\\").test(inputVal)) {
}


编辑

以下是JSON

[
    {
        "ExtensionData": {},
        "Data1": null,
        "DisplayName": "First Name",
        "IsRequired": true,
        "LengthValidation": 0,
        "Name": "ServiceFirstName",
        "RegexValidation": "^[A-Za-z\\'\\s\\.\\-\\,]{1,50}$",
        "Type": "String",
        "ValidationMessage": "The field 'First Name' doesn't meet the format requirements"
    },
 {
        "ExtensionData": {},
        "Data1": null,
        "DisplayName": "Last Name",
        "IsRequired": true,
        "LengthValidation": 0,
        "Name": "ServiceLastName",
        "RegexValidation": "^[A-Za-z\\'\\s\\.\\-\\,]{1,50}$",
        "Type": "String",
        "ValidationMessage": "The field 'Last Name' doesn't meet the format requirements"
    }
]

最佳答案

您可以将单引号更改为Unicode字符/u0027还是使用ASCII \x27使其正常工作?

在此处查看实际操作:http://jsfiddle.net/TezdR/1/

所以,实际上您不需要执行替换操作,但可以按原样使用“字符串”-这是一个更新的版本,您可以在其中看到我对FirstName进行替换,而不是对last进行替换-它们都应以相同的方式工作:http://jsfiddle.net/TezdR/2/

关于javascript - 正则表达式问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6959619/

10-12 12:49
查看更多