Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在页面加载后检查输入的regex属性_Javascript_Jquery_Html_Regex - Fatal编程技术网

Javascript 如何在页面加载后检查输入的regex属性

Javascript 如何在页面加载后检查输入的regex属性,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,有一个选择框。和一个具有主机名特定模式的文本框。在这种情况下,当我的selectbox更改时,文本框的模式将更改。我的问题是,如何在车身装载时选中selectbox值?检查一下图案?例如,如果选择框最初是“Nx”。我想检查一下图案。当selectbox更改时,值也会更改 以下是我的代码,仅在更改selectbox时有效: $(函数(){ $('select[name=type]')。更改(函数(){ var$option=$(this.find(“:selected”); $('input[n

有一个选择框。和一个具有主机名特定模式的文本框。在这种情况下,当我的selectbox更改时,文本框的模式将更改。我的问题是,如何在车身装载时选中selectbox值?检查一下图案?例如,如果选择框最初是“Nx”。我想检查一下图案。当selectbox更改时,值也会更改

以下是我的代码,仅在更改selectbox时有效:

$(函数(){
$('select[name=type]')。更改(函数(){
var$option=$(this.find(“:selected”);
$('input[name=hostInput]').attr('pattern',$option.attr('data-pattern'));
$('input[name=hostInput]').attr('placeholder',$option.attr('data-placeholder'));
$('input[name=hostInput]').attr('title',$option.attr('data-title'));
});
});
。要验证:无效{
颜色:海军蓝;
大纲:无;
边框颜色:#ff1050;
盒影:0 10px#ff0000;
}

记录
NS
MX

提交
尝试将这些添加到javascript中

$(function() {
    var value= $('select[name=type]').val();
    var pattern = $('select[name=type] option:selected').data('pattern');

    $('input[name=hostInput]').attr('pattern', pattern);
    $('input[name=hostInput]').val(value);
});
当html主体元素加载并准备就绪时,调用Jquery have method.ready()。。你可以在这里查一下

更新

 $( document ).ready(function() {
    var checkedVal = $( "select[name=type]" ).val();
    var patterns = {
    "NS":"(?!\d+(?:\.\d+){3}$)(([a-zA-Z\d]|[a-zA-Z\d][a-zA-Z\d-]*[a-zA-Z\d])\.)*([A-Za-z\d]|[A-Za-z\d][A-Za-z\d-]*[A-Za-z\d])",
    "MX":"(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])"
    }

    patterns[checkedVal].test($('input[name=hostInput]').val());//if it is true the input is valid
});

$('select[name=type]').change(function(){…}).change()
@Tushar这是什么代码?
.change()
change()
的末尾。这将触发事件,并在页面加载时调用事件处理程序。已添加但未工作如何将复选框的值和模式传递给输入框?你写的代码不适用于此?对不起,如果还有其他问题。对于具有相同字段的多行。例如,一行表示“MX”,另一行表示“Ns”。如何使用此代码?因为此代码将对所有行重复此模式。抱歉,我不理解您的新问题。您可以创建一个新问题,该问题完全符合您的详细要求。将代码放在.ready()上是一个很好的做法,这样可以确保在执行代码之前所有html元素都可用
 $( document ).ready(function() {
    var checkedVal = $( "select[name=type]" ).val();
    var patterns = {
    "NS":"(?!\d+(?:\.\d+){3}$)(([a-zA-Z\d]|[a-zA-Z\d][a-zA-Z\d-]*[a-zA-Z\d])\.)*([A-Za-z\d]|[A-Za-z\d][A-Za-z\d-]*[A-Za-z\d])",
    "MX":"(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])"
    }

    patterns[checkedVal].test($('input[name=hostInput]').val());//if it is true the input is valid
});