用于验证FQDN的正则表达式
Regular expression to validate FQDN
我正在尝试使用以下正则表达式来验证Javascript中的FQDN。这在C#中运行良好。但是Page在javascript中使用时抛出403错误。我做错了什么?
if (!fqdn.match(/(?=^.{1,254}$)(^(?:(?!'d|-)[a-zA-Z0-9'-]{1,63}(?<!-)'.?)+(?:[a-zA-Z]{2,})$)/))
{
alert("Not a valid FQDN");
return false;
}
您的regex使用了一个负的后备断言(?<!-)
,而JavaScript不支持这些断言。
您可以重写正则表达式以完全相同的方式匹配,而无需查找:
/(?=^.{1,254}$)(^(?:(?!'d|-)[a-z0-9-]{0,62}[a-z0-9]'.?)+(?:[a-z]{2,})$)/i
不过,我不太确定regex背后的逻辑是否真的适用于验证FQDN,但这是另一个问题。例如,可选的句点使正则表达式容易受到灾难性回溯的影响。这是使浏览器崩溃的好方法。
相关文章:
- java.net和javascript之间正则表达式的差异
- Grunt匹配正则表达式
- 不同浏览器中的空白字符正则表达式行为
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 调用正则表达式匹配的函数
- 使用正则表达式评估电子邮件地址时出现性能问题
- Javascript 正则表达式 : ^[^/s/]+[a-z]{1,}[0-9]*[-_]*[^/][
- JavaScript正则表达式文本与RegExp对象
- 正则表达式只允许 x 个整数
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 改进用于验证付款金额的正则表达式
- 正则表达式与数字中的第二个点匹配
- 键按正则表达式以查找具有负值的小数
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 将po-box javascript正则表达式转换为c#regex
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- FQDN 正则表达式与 jqBootstrapValidation.js.
- 用于验证C#和Javascript中FQDN的正则表达式
- 用于验证FQDN的正则表达式