我有两个文本框。我想要做的是当我在一个文本框中写东西时应该将其复制到另一个(我能够这样做)。但是我的要求是如果我写了别的东西而不是az或AZ或0-9则不应复制到第二个文本框。 我的HTML
<textarea name="source" id="src1" cols="150" rows="20" onkeyup="showRelated(event)">
<textarea name="source2" id="src2" cols="150" rows="20" >
我的js
function showRelated(e) {
$("#src2").val($("#src1").val()) ;
}
让我解释一下,假设我写了LO ^&amp; 1VE然后在第二个文本框中LOVE应该只复制。如果我更进一步喜欢添加更多LO ^&amp; 1VE C ** V然后在第二个文本框LOVE CV应该只是appaer。任何人都可以建议我怎么做?
答案 0 :(得分:2)
使用正则表达式[^ a-zA-Z0-9]检查或替换不是字母数字的字符
function showRelated(){
$("#src2").val( $("src1").val().replace(/[^a-zA-Z0-9]/g,"") );
}
<强>演示强>
function showRelated(e){
$("#src2").val( $("#src1").val().replace(/[^a-zA-Z0-9]/g,"") );
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<textarea id="src1" onkeyup="showRelated(event);"></textarea>
<textarea id="src2"></textarea>
&#13;
答案 1 :(得分:0)
相当野蛮的做法,但这里就是
function showRelated(e) {
var text=$("#src1").val().split("");
var pattern=/^[a-zA-Z0-9]*$/
var nStr='';
for (var i=0;i<text.length;i++) {
if (pattern.test(text[i])) {
nStr+=text[i];
}
}
$("#src2").val(nStr);
}
基本上,这将检查每个字符串是否符合您的标准,然后将其放入其中。