我有一个像这样的URL参数。
/?name=John&accountID=123456789&email=jdoe@tc.com
当页面重新加载时,将出现一个提示框,以便用户可以输入参数以获得它们的值。例:如果用户输入name并单击OK,John将作为警报出现,或者如果用户进入accountID,则123456789将发出警报。这是对我有用的。
  if ( atts[0] !== '' ) {
    param = prompt( 'Enter desired URL parameter:' );
    for ( i = 0; i < atts.length; i++ ) {
        pair = atts[ i ].split( '=' );
        if ( pair[0] === param ) {
            alert( pair[1] );
            return false;
        }
    }但问题是当用户输入NAME (全大写)时,它就不能工作了。如何使这个案子变得不敏感。平均名称应该是= name,或者AcCOUntId应该是= accountID。如何在不使用硬编码的值(如名称、电子邮件或accountID)的情况下,URL可以是任何内容。我需要匹配用户输入的值或字符串。
发布于 2018-01-19 05:07:19
将比较更改为以下几个可以帮助您:
if ( pair[0].toLowerCase() === param.toLowerCase() ) {
    alert( pair[1] );
    return false;
}发布于 2018-01-19 05:09:06
如果要比较两个字符串的大小写不敏感,可以将两个字符串的上下比较如下:
if ( atts[0] !== '' ) {
    param = prompt( 'Enter desired URL parameter:' );
    for ( i = 0; i < atts.length; i++ ) {
        pair = atts[ i ].split( '=' );
        if ( pair[0].toLowerCase() === param.toLowerCase() ) {
            alert( pair[1] );
            return false;
        }
    }
}toLowerCase()见MDN
https://stackoverflow.com/questions/48334318
复制相似问题