Javascript 如何在页面加载后检查输入的regex属性
有一个选择框。和一个具有主机名特定模式的文本框。在这种情况下,当我的selectbox更改时,文本框的模式将更改。我的问题是,如何在车身装载时选中selectbox值?检查一下图案?例如,如果选择框最初是“Nx”。我想检查一下图案。当selectbox更改时,值也会更改 以下是我的代码,仅在更改selectbox时有效: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
$(函数(){
$('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
});