是否有现有的函数(或者可能有人编写了一些现有代码)在JS函数中验证传递的文本是否有效PCRE?我一直在谷歌搜索疯狂,但我能找到的最接近的东西只是“PCRE_JAVASCRIPT_COMPAT”(这是一个PCRE兼容性标志)或讨论验证PHP和Javascript中的输入.
我见过的最接近Javascript REGEX验证的是:
try {
"".match(regex);
return true;
} catch (e) {
return false;
}
这没有考虑JS(ECMA)正则表达式和PHP(PCRE)正则表达式之间的差异 – 这显然是一个问题,但我没有找到两者之间差异的明确讨论.
有什么帮助吗?
最佳答案
快速&用于检查PHP的脏AJAX代码:
使用Javascript:
function regexValidator(value) {
var req = new XMLHttpRequest();
req.onreadystatechange = function() {
if (req.status == 200 && req.responseText.length() > 0) {
alert(req.responseText);
}
};
req.open('GET','http://example.com/validator.PHP?r=' + escape(value),true);
req.send();
}
PHP:
PHP
if (isset($_GET['r'])) {
if (preg_match(urldecode($_GET['r']),'') === FALSE) {
echo "NOT VALID";
} else {
echo "VALID";
}
}