asp.net向前台输出正则表达式字符串的问题
今天遇到这样一个问题,我在服务器端生成的正则表达式,能够正常验证字符串,然而输出到前台,再使用javascript的正则表达式来验证,但是却是错误的。
正则表达式字符串实例:
^\d{8}$
在C#中的字符串样式:
string regString = "^\\d{8}$";
string regString2 = @"^\d{8}$";
string regString2 = @"^\d{8}$";
输出到前台之后,在Javascript中看到的字符串已经分别变成了变成了
var regString = "^d{8}$";
var regString2 = "^d{8}$";
var regString2 = "^d{8}$";
所以,再使用javascript来验证时,就出现了错误的验证结果
所以只好把服务器端的正则表达式再添加凡斜杠
string regString = "^\\\\d{8}$";
string regString2 = @"^\\d{8}$";
这样输出到前台之后再验证就正常了。
总结:反斜杠在前台也是一个转移字符,所以需要输出前台时,就必须多一次转移才能解决。