我正在从服务器的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/