"无法阅读财产'匹配' of null"

时间:2016-07-14 06:54:09

标签: javascript jquery null match

我有那个剧本:

    <activity
    android:name="com.hyipc.core.service.barcode.BarcodeService2D"
    android:label="@string/share_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

当在url中有任何参数时它工作正常而且工作正常,#deafult-content shows。

问题是当我有没有参数的干净网址时#default-content不要显示因为&#34;无法读取属性&#39;匹配&#39; of null&#34;。

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您正在为null返回!results,然后您无法match反对。

尝试组合两个检查并返回一个空字符串: -

&#13;
&#13;
function getParameterByName(name, url) {

  if (!url) 
    url = window.location.href;
  
  name = name.replace(/[\[\]]/g, "\\$&");
  var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
    results = regex.exec(url);
  
  if (!results || !results[2]) 
    return '';
  
  return decodeURIComponent(results[2].replace(/\+/g, " "));
}

var dynamicContent = getParameterByName('utm_term');

$(document).ready(function() {

  if (dynamicContent.match(/buy/i)) {
    $('#buy').show();
  } else {
    $('#default-content').show();
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<p id="default-content" style="display:none;">test</p>
&#13;
&#13;
&#13;