我有下一个模式: [a-z [A-Z]а-я[А-Я] [0-9]ЇЇЇІєЄ[ - ] [,] _“/ \] {0,483}
<input
id="<?= $field['id'];?>"
name="input"
<?php if (isset($field['regex'])) echo "pattern=".$field['regex'];?>
>
通过这种模式,我通过javascript检查字段中的数据:
var decode_pattern = $(this).attr('pattern');
var reg = RegExp("^" + decode_pattern + "$");
但是当我尝试在字段中输入(sdfzsdf)时,regexp告诉我 - 错误。
为什么?
答案 0 :(得分:1)
我有这种模式:
[a-z[A-Z]а-я[А-Я][0-9]їЇіІєЄ[-][,]_"/\ ]{0,483}
JavaScript Regex语法不允许在字符类中使用字符类。也许你的意思是
[a-zA-Zа-яА-Я0-9їЇіІєЄ,_"/\\ -]{0,483}
您当前的正则表达式相当于/[a-z\[A-Z]а-я[А-Я]\dїЇіІєЄ-,_"\/ \]{0,483}/
。
此外,由于它包含引号,您需要html转义属性值:
echo 'pattern="'.htmlspecialchars($field['regex']).'"';