我是angular的新手,我有c#电子邮件正则表达式,我不知道c#regex和打字稿正则表达式有什么区别。它无法正常工作。谢谢!
正则表达式:
EmailRegularExpresssion = @"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z-])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$";
电子邮件示例: adasd457@sdjf45.idie
1。不允许特殊字符
2。不允许在后面输入数字。值(ex-sdf@sadf.co333)
答案 0 :(得分:3)
您提供的C#代码使用C#的Verbatim字符串语法,该语法不需要转义反斜杠。要将其转换为普通的字符串文字(在C#和JavaScript中是相同的),您可以删除前面的actions
符号,然后通过在其前面添加另一个反斜杠来转义反斜杠:
@
要将其用作JavaScript正则表达式,请将其传递给RegExp构造函数:
"^([0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z-])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})$"
或者更好的是,您可以只使用JavaScript的文字正则表达式语法(不转义反斜杠:
let emailRegularExpression = new RegExp("^([0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z-])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})$");
这可以按照您指定的情况进行操作:
let emailRegularExpression = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z-])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;
:是emailRegularExpression.test("adasd457@sdjf45.idie")
:错误emailRegularExpression.test("ex-sdf@sadf.co333")
:假(特殊字符)