如何对我的文本框使用此修剪功能

How can I use this trim function for my textbox

本文关键字:修剪 功能 我的 文本      更新时间:2023-09-26

我如何将这个修剪函数var trimmed = str.replace(/^'s+|'s+$/g, '') ;应用于下面的代码,以便如果文本框包含空格,它将显示消息"不正确"?此外,如果我使用此函数,我是否可以在文本框中使用"/",因为文本框可能包含带"/"的数据。

  if (moduletext.value == ""){
      errmsg.innerHTML = "Incorrect";
    }else{
            errmsg.innerHTML = "Correct"; 
    }  

最简单的方法是检查修剪后的值的长度。

var trimmed = moduletext.value.replace(/^'s+/, '').replace(/'s+$/, '');
if(!trimmed.length) {
  errmsg.innerHTML = 'Incorrect';
} else {
  errmsg.innerHTML = 'Correct';
}

如果您知道正在使用的浏览器(通常不是<IE9(,则可以使用trim的本地浏览器实现,即'my string'.trim();

不要使用replace(),而是使用一个更简单的match()表达式。正则表达式/'s/将匹配文本框中的任何空白,并生成Incoorect消息。

if (moduletext.match(/'s/)){
  errmsg.innerHTML = "Incorrect";
}else{
  errmsg.innerHTML = "Correct"; 
}  

您可以在文本框中包含/。正则表达式中的/是分隔符,而不是表达式的实际组件。

您似乎想要一个左右修剪的字符串,以及一种为用户更新状态字段的方法。这些可能是你感兴趣的:

<html>
    <head>
    <script>
            //option 1: just determine if the string is valid
            string_valid = function (str) {
                validity_indicator = {
                    true:"Valid",
                    false:"InValid",
                };
                return validity_indicator[str.match( /'s*([^'s](:?.*[^'s])?)'s*/ ) != null];
            };
            // option 2: the trim and validation sort of wrapped up in one.
            parse_for_validity = function (str) {
                if ( ( result = /'s*([^'s](:?.*[^'s])?)'s*/.exec( str ) ) == null ) { 
                    return 'Incorrect';
                }
                return result[ 1 ];
            };
            // then either
            // errmsg.innerHTML = string_valid( your_string_here )
        </script>
    </head>
    <body>
        <!-- and then test them out -->
        <script> 
            alert( string_valid("    ") );       // => 'Incorrect'
            alert( string_valid(" abc ") );      // => 'Correct'
            alert( parse_for_validity("    ") ); // => 'Incorrect'
            alert( '...' + parse_for_validity(" abc ") + '...' ); // => '...abc...'
        </script>
    </body>
</html> 

关于/,我相信只有在正则表达式中使用它时,您才需要关心它。在测试的字符串中包含/是可以的。如果您想在正则表达式中测试/,您应该能够像以下表达式中的'/一样对其进行转义:/'//

我希望这能有所帮助。我喜欢regex!:(

function trim(stringToTrim) {
return stringToTrim.replace(/^'s+|'s+$/g,"");}
function ltrim(stringToTrim) {
return stringToTrim.replace(/^'s+/,"");}
function rtrim(stringToTrim) {
return stringToTrim.replace(/'s+$/,"");}
calling : trim(document.getElementById('username').value);

used for removing all kinds of spacing...